:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#192540;background:#f4f6fb;font-size:16px;line-height:1.5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:1px solid #dbe1ee;background:white;border-radius:10px;padding:10px 15px;transition:background .15s}button:hover{background:#edf0ff}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9cafff;outline-offset:2px}.primary{background:#2947dd;border-color:#2947dd;color:white}.primary:hover{background:#203ab9}.danger{color:#b4293d;border-color:#e7c2c8}.muted,.small{color:#68758d}.small{font-size:13px}.caps{font-size:12px;font-weight:750;color:#74829c;letter-spacing:1.5px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-.8px;margin-bottom:4px}h2{font-size:23px;letter-spacing:-.5px}h3{font-size:17px}.brand{font-size:24px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brand img{width:37px;height:37px}.app{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:white;border-right:1px solid #e0e5f0;padding:30px 22px;display:flex;flex-direction:column;gap:30px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{border:0;text-align:left;padding:12px 14px}.sidebar nav button.active{background:#edf0ff;color:#2947dd;font-weight:650}.calendar-filter{display:flex;align-items:center;gap:10px;margin:14px 0;font-size:14px;overflow-wrap:anywhere}.calendar-filter input{width:18px;height:18px;accent-color:#2947dd}.subtle{border:0;background:transparent;padding:6px 0;text-align:left;color:#2947dd}.profile{margin-top:auto;border-top:1px solid #edf0f5;padding-top:20px}.profile strong{display:block;overflow-wrap:anywhere}.profile .small{overflow-wrap:anywhere}main{min-width:0;padding:32px 38px}.top,.toolbar,.row,.actions,.modalhead{display:flex;align-items:center;gap:12px}.top,.toolbar,.modalhead{justify-content:space-between}.toolbar{margin:28px 0 18px;flex-wrap:wrap}.toolbar h2{font-size:21px;margin:0}.row{flex-wrap:wrap}.top p{margin-bottom:0}.statusline{margin-top:20px;padding:10px 14px;border:1px solid #dce3f6;border-radius:9px;font-size:13px;color:#5b6983;background:#f9faff}.board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:white;border:1px solid #dce3ef;border-radius:15px;overflow:hidden}.day{border-right:1px solid #e7ebf4;padding:12px 8px;min-height:475px}.day:last-child{border-right:0}.dayhead{text-align:center;border-bottom:1px solid #eef1f6;padding-bottom:17px;margin-bottom:18px}.dayhead span{display:block;font-size:13px;color:#68758d}.dayhead b{display:inline-grid;place-items:center;width:37px;height:37px;margin-top:6px;font-size:21px}.dayhead.today b{background:#2947dd;color:white;border-radius:50%}.event{display:block;text-align:left;width:100%;border:0;border-left:3px solid #2947dd;background:#edf0ff;padding:12px 9px;border-radius:6px;margin-bottom:12px;overflow-wrap:anywhere;font-size:14px}.event strong,.event span{display:block}.event .time{font-size:12px;margin-bottom:5px;color:#4d60a1}.event small{display:block;color:#68758d;margin-top:9px;font-size:12px}.event.cancelled{background:#f2f3f6;border-color:#9097a6;color:#68758d}.event.cancelled strong{text-decoration:line-through}.board.list{display:block}.list .day{min-height:auto;display:grid;grid-template-columns:100px 1fr;gap:20px;border-right:0;border-bottom:1px solid #e7ebf4}.list .dayhead{border:0;margin:0}.emptyday{text-align:center;color:#8590a5;font-size:13px;padding:20px 0}.empty{padding:48px 24px;text-align:center;background:white;border:1px solid #dfe5ef;border-radius:15px}.empty h2{margin-bottom:8px}.panel{padding:26px;background:white;border:1px solid #dfe5ef;border-radius:14px;margin-top:22px}.panel h2{margin-bottom:8px}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid #eef1f6}.setting p{margin:4px 0 0}.setting input{width:22px;height:22px;accent-color:#2947dd}.foot{display:flex;justify-content:space-between;gap:12px;margin-top:17px;font-size:13px;color:#758099;flex-wrap:wrap}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(130deg,#eef2ff,#f7f9fd 60%)}.auth{background:white;border:1px solid #e1e6f1;padding:38px;border-radius:20px;width:min(100%,470px);box-shadow:0 20px 80px #1724550b}.auth .brand{margin-bottom:32px}.auth h1{font-size:27px}.auth .primary{width:100%}.field{display:block;font-size:14px;margin-bottom:17px;font-weight:550}input:not([type=checkbox]),textarea,select{display:block;margin-top:6px;width:100%;padding:11px 12px;border:1px solid #cfd8e8;background:white;border-radius:8px;color:#192540;font-weight:400}input[type=color]{height:46px;padding:4px}textarea{min-height:110px;resize:vertical;line-height:1.65}.notes-editor{min-height:310px}.note-tools{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:8px 0}.note-tools button{font-size:13px;padding:6px 10px}.note-tools .count{font-size:12px;color:#68758d;font-weight:400}.cols{display:grid;grid-template-columns:1fr 1fr;gap:15px}.error{background:#fff0f1;border:1px solid #f0c9cf;border-radius:8px;color:#a3293b;padding:12px;font-size:14px;margin:15px 0;white-space:pre-wrap}.error:empty{display:none}.loading{padding:50px;text-align:center;color:#68758d}.tag{display:inline-block;padding:4px 9px;border-radius:6px;background:#edf0ff;color:#2947dd;font-size:12px;font-weight:600}.tag.muted{background:#f0f2f6;color:#68758d}dialog{border:0;padding:0;border-radius:17px;width:min(730px,calc(100% - 28px));max-height:92vh;box-shadow:0 25px 90px #14204040;color:#192540}dialog::backdrop{background:#14204070}dialog.wide{width:calc(100% - 32px);height:calc(100vh - 32px);max-height:none}dialog.wide .notes-editor{min-height:55vh}.dialog-body{padding:28px}.modalhead{margin-bottom:22px}.modalhead h2{margin:0;font-size:23px;overflow-wrap:anywhere}.close{font-size:25px;border:0;background:#f2f4f9;padding:2px 11px}.actions{justify-content:flex-end;flex-wrap:wrap;margin-top:24px}.note{background:#f5f7fb;padding:18px;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:48vh;overflow:auto;font-size:15px;line-height:1.75}.detail-title{margin-top:10px;overflow-wrap:anywhere}.detail h3{margin:26px 0 10px}.history-item{border-left:2px solid #d9e1ff;padding:0 0 18px 18px;font-size:14px}.history-item p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.history-item small{color:#6d7990}.notify{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid #edf0f6}.notify p{margin:4px 0;overflow-wrap:anywhere}.notify button{flex-shrink:0}.member{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;border-top:1px solid #edf0f6}.member div{min-width:0;overflow-wrap:anywhere}.member .row{justify-content:flex-end}.member select{width:auto;margin:0}.member .small{font-size:13px}.badge{font-size:12px;border-radius:10px;padding:1px 7px;background:#dfe6ff;color:#2947dd}.full{width:100%}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#192540;color:white;border-radius:10px;padding:13px 20px;z-index:20;max-width:90%;box-shadow:0 5px 20px #14204025}a{color:#2947dd}details{margin:16px 0}summary{cursor:pointer;font-size:14px;color:#52607b}details .note{margin-top:10px}.hidden{display:none!important}@media(max-width:1150px){.app{grid-template-columns:200px 1fr}main{padding:26px 22px}.board:not(.list){grid-template-columns:repeat(4,minmax(0,1fr))}.day{min-height:260px;border-bottom:1px solid #e7ebf4}}@media(max-width:720px){.app{display:block}.sidebar{padding:15px;gap:15px;border-right:0;border-bottom:1px solid #e0e5f0}.sidebar nav{display:flex;overflow-x:auto}.sidebar nav button{white-space:nowrap;font-size:14px;padding:9px}.sidebar .profile{display:none}.filter-wrap{display:flex;flex-wrap:wrap;gap:8px 18px}.filter-wrap .caps{display:none}.calendar-filter{margin:0}.brand{font-size:22px}main{padding:22px 14px}.top{align-items:flex-start}.top h1{font-size:24px}.top .primary{font-size:14px;white-space:nowrap;padding:10px}.top .small{font-size:12px}.board:not(.list){display:block}.day,.list .day{display:grid;grid-template-columns:62px 1fr;gap:10px;min-height:auto}.dayhead{border:0;margin:0}.toolbar{margin-top:22px}.toolbar h2{font-size:18px}.panel{padding:18px}.cols{grid-template-columns:1fr;gap:0}.dialog-body{padding:20px}.notes-editor{min-height:280px}.member,.notify{align-items:flex-start;flex-wrap:wrap}.auth{padding:26px}.foot{display:block}.actions button{flex-grow:1}.setting{align-items:flex-start}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.auth-footer{margin-top:24px}
@media(max-width:720px){.sidebar nav{gap:3px}.sidebar nav button{flex:1;padding:9px 4px;font-size:13px}.dayhead{padding-bottom:0}}
/* Agenda mensile e autorizzazioni */
.sidebar{gap:22px;padding:24px 18px}.sidebar nav{gap:4px}.sidebar nav button{padding:10px 13px}.sidebar>#new-event{align-self:stretch}.agenda-main{padding:18px 22px 12px}.calendar-toolbar{margin:0 0 16px;min-height:42px}.calendar-toolbar h1{font-size:24px;font-weight:550;text-transform:capitalize;margin:0 0 0 10px;letter-spacing:-.5px}.view-picker select{margin:0;border-radius:22px;padding:8px 32px 8px 15px;width:auto}.calendar-surface{border:1px solid #dce3ef;border-radius:18px;overflow:hidden;background:#fff}.month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;font-size:12px;color:#5b6980;padding:9px 0 5px}.board.month-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:0;border-radius:0;min-height:calc(100vh - 145px)}.month-board .day{min-height:125px;border-bottom:1px solid #dce3ef;border-right:1px solid #dce3ef;padding:4px 5px 8px;min-width:0}.month-board .day:nth-child(7n){border-right:0}.month-board .day:nth-last-child(-n+7){border-bottom:0}.month-board .day.outside{background:#fafbfd}.month-board .outside .day-number{color:#919bad}.month-board .dayhead{border:0;margin:0 0 5px;padding:0;text-align:center}.day-number{border:0;display:inline-grid;place-items:center;padding:0;width:32px;height:32px;background:transparent;font-size:14px}.dayhead.today .day-number{background:#2947dd;color:white;border-radius:50%}.month-board .event{display:flex;align-items:center;gap:5px;background:transparent;border:0;padding:4px 3px;margin-bottom:2px;font-size:13px;border-radius:5px;min-height:27px;line-height:1.35}.month-board .event:hover{background:#edf1fa}.event-dot{display:none;width:7px;height:7px;border-radius:50%;flex-shrink:0}.month-board .event-dot{display:inline-block}.month-board .event .time{font-size:12px;margin:0;white-space:nowrap;color:#26354e}.month-board .event strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;min-width:0}.month-board .event small{display:none}.more-events{border:0;background:transparent;color:#60708b;font-size:12px;padding:3px 5px}.day-detail .event{text-align:left}.mini-heading{display:flex;align-items:center;gap:5px;margin-bottom:8px;font-size:13px;text-transform:capitalize}.mini-heading strong{margin-right:auto;font-weight:600}.mini-heading button{border:0;padding:0;width:25px;height:26px;font-size:20px}.mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center;font-size:12px;align-items:center}.mini-grid>span{color:#6d7890;padding:4px 0}.mini-grid button{border:0;border-radius:50%;padding:0;width:25px;height:25px;font-size:12px;justify-self:center}.mini-grid .today{background:#2947dd;color:white}.mini-grid .outside{color:#98a1b3}.profile .tag{margin-top:9px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:24px}.permission-check{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #e2e7f0;border-radius:9px;font-size:14px;cursor:pointer}.permission-check input{flex-shrink:0;margin:3px 0 0;accent-color:#2947dd;width:18px;height:18px}.permission-check small{display:block;font-size:12px;color:#68758d;margin-top:4px}.account-enabled{margin-bottom:24px;background:#f5f7ff}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:721px) and (max-width:1150px){.month-board .event .time{display:none}.month-board .event{font-size:12px}.mini-grid button{width:20px;height:23px}.calendar-toolbar h1{font-size:21px}}
@media(max-width:720px){.sidebar{padding:14px;gap:12px;display:grid;grid-template-columns:1fr auto}.sidebar .brand{font-size:21px}.sidebar>#new-event{font-size:13px;padding:8px 11px}.sidebar nav{grid-column:1/-1;flex-wrap:wrap;overflow:visible}.sidebar nav button{padding:7px 5px;font-size:12px;flex:1}.sidebar .filter-wrap{grid-column:1/-1}#mini-calendar{display:none}.agenda-main{padding:16px 8px}.calendar-toolbar{gap:10px}.calendar-toolbar .row{gap:5px}.calendar-toolbar h1{font-size:19px;margin-left:5px}.calendar-toolbar button{padding:7px 10px}.view-picker select{padding:6px 23px 6px 10px;font-size:13px}.calendar-surface{border-radius:12px}.board.month-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:480px}.month-board .day{display:block;min-height:96px;padding:3px 1px;border-right:1px solid #dce3ef}.month-board .day-number{width:27px;height:27px;font-size:12px}.month-board .dayhead{padding:0}.month-weekdays{font-size:10px}.month-board .event{display:flex;padding:2px 1px;gap:2px;font-size:10px;min-height:22px}.month-board .event .time{display:none}.month-board .event-dot{width:4px;height:4px}.month-board .more-events{font-size:10px;padding:2px}.month-board .event strong{font-size:10px}.permission-grid{grid-template-columns:1fr}.foot{font-size:12px}.calendar-toolbar .row:first-child{flex-wrap:nowrap}.calendar-toolbar h1{white-space:nowrap}}
/* Company identity and permanent publisher signature */
.app{grid-template-rows:80px 1fr}.app-header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:12px 24px 12px 18px;background:white;border-bottom:1px solid #e0e5f0;min-width:0}.app-header .brand{max-width:220px;font-size:22px}.brand span{overflow-wrap:anywhere}.company-brand img{width:auto;height:auto;max-width:205px;max-height:54px;object-fit:contain}.provider-brand{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;color:#233657;font-size:18px;font-weight:650;letter-spacing:-.4px}.provider-brand img{width:auto;height:auto;max-width:200px;max-height:52px;object-fit:contain}.branding-preview{display:flex;align-items:center;min-height:85px;max-width:340px;padding:16px;border:1px solid #dce3ef;border-radius:12px;margin:20px 0}.board.month-board{min-height:calc(100vh - 225px)}.sidebar{min-height:0}
@media(max-width:720px){.app-header{padding:12px 14px;gap:12px;min-height:72px}.app-header .brand{font-size:17px;max-width:55%;gap:7px}.app-header .brand>img{max-width:100%;max-height:44px}.app-header .brand:not(.company-brand)>img{width:28px;height:28px}.provider-brand{font-size:13px;max-width:40%;text-align:right}.provider-brand img{max-width:100%;max-height:42px}.sidebar>#new-event{grid-column:1/-1;justify-self:start}.board.month-board{min-height:480px}}

/* Keep the month and its summary inside the desktop viewport. */
.app{grid-template-rows:1fr}.sidebar-bottom{margin-top:auto;flex-shrink:0}.sidebar-bottom .provider-brand{justify-content:center;max-width:100%;padding:16px 0 20px}.sidebar-bottom .provider-brand img{width:100%;max-width:200px;max-height:90px}.sidebar-bottom .profile{margin-top:0;padding-top:14px}.sidebar>.brand{flex-shrink:0;font-size:22px}.sidebar>.brand img{max-width:100%}
@media(min-width:721px){.app{height:100dvh;min-height:0}.sidebar{overflow-y:auto;gap:18px;padding:20px 15px}.sidebar nav{gap:2px}.sidebar nav button{padding:8px 12px}.sidebar .filter-wrap{overflow-y:auto;min-height:38px;flex-shrink:1}.agenda-main{height:100dvh;min-height:0;overflow:auto}.agenda-main:has(.month-content){overflow:hidden}.month-content{height:100%;min-height:0;display:flex;flex-direction:column}.month-content .calendar-toolbar{flex-shrink:0;margin-bottom:12px}.month-content .calendar-surface{flex:1;min-height:0;display:flex;flex-direction:column}.month-content .month-weekdays{flex-shrink:0}.month-content .month-board{flex:1;min-height:0}.month-board .day{min-height:0;overflow:auto}.month-content .foot{flex-shrink:0;margin-top:10px}.month-board .dayhead{margin-bottom:2px}.month-board .day-number{width:27px;height:27px}.month-board .event{min-height:22px;padding:2px 3px}}
@media(max-width:720px){.sidebar-bottom{margin-top:0;align-self:flex-end}.sidebar-bottom .provider-brand{padding:0;max-width:145px}.sidebar-bottom .provider-brand img{max-height:56px}.sidebar>.brand{max-width:220px}.month-board .day{min-height:96px}.board.month-board{min-height:580px}.calendar-toolbar .row:first-child{flex-wrap:wrap}.calendar-toolbar h1{white-space:normal}.sidebar nav{max-width:100%}}

.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0}.photo-grid img{display:block;width:100%;height:140px;object-fit:contain;background:#f4f6fb;border:1px solid #dce3ef;border-radius:8px}.photo-grid label span{display:block;padding:8px 0}.photo-picker{display:block;padding:12px;border:1px solid #dce3ef;border-radius:10px;flex:1;min-width:210px;font-weight:600}.photo-picker input{font-size:13px;max-width:100%}fieldset{border:1px solid #dce3ef;border-radius:10px;margin-top:15px}

[hidden]{display:none!important}

.month-weekdays .saturday,.day.saturday .dayhead span,.day.saturday .day-number{color:#3184b4;font-weight:650}.month-weekdays .sunday,.day.sunday .dayhead span,.day.sunday .day-number{color:#c63743;font-weight:650}.day.saturday .dayhead.today .day-number{background:#3184b4;color:white}.day.sunday .dayhead.today .day-number{background:#c63743;color:white}
