@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f4f5f7;--surface:#fff;--ink:#222e3e;--muted:#7a7e84;--line:#e3e6eb;--green:#0069ff;--lime:#c9d9ef;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button{border:0;background:none;color:inherit}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.18;letter-spacing:-1.4px;font-weight:600}h2{font-size:19px;line-height:1.35;font-weight:600;letter-spacing:-.45px}h3{font-size:16px;font-weight:600}small{font-size:12px}strong{font-weight:600}.muted{color:var(--muted)}.icon{width:20px;height:20px;flex-shrink:0}.eyebrow{display:block;font-size:10px;letter-spacing:1.7px;font-weight:650;color:#767b83;margin-bottom:12px}.btn{display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:46px;padding:12px 19px;border-radius:9px;font-size:13px;font-weight:600;white-space:nowrap;transition:background .18s,transform .18s}.btn:hover{transform:translateY(-1px)}.primary{background:var(--green);color:var(--on-brand,#fff)}.primary:hover{background:var(--brand-dark,#0054cc)}.secondary{background:#fff;border:1px solid var(--line)}.secondary:hover{background:#eef1f6}.reject{background:#f7e9e5;color:#9e5044}.full{width:100%}.text-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:600;padding:9px 0;color:var(--green)}.text-btn:hover{color:#445c7f}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:23px}.icon-btn:hover{background:var(--bg)}.brand{display:flex;align-items:center;gap:10px;font-size:35px;line-height:1;font-weight:750;letter-spacing:-1.7px}.brand-dot{color:#7e8ea6;margin-left:-10px}.brand-mark{position:relative;width:30px;height:32px;margin-right:1px}.brand-mark i{position:absolute;background:currentColor;width:21px;height:10px;border-radius:3px;transform:skewY(-18deg);top:5px}.brand-mark i+ i{top:19px;left:8px}.avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:36px;height:36px;background:var(--avatar);color:white;border-radius:50%;font-size:11px;font-weight:600;letter-spacing:.2px}.avatar.large{width:72px;height:72px;font-size:24px;border-width:5px}.app-shell{display:flex;min-height:100vh}.sidebar{width:242px;position:fixed;top:0;bottom:0;background:#fff;border-right:1px solid var(--line);padding:36px 23px 18px;display:flex;flex-direction:column;z-index:10;overflow-y:auto}.sidebar>.brand{margin:0 12px 38px}.nav-label{font-size:9px;color:#95999e;letter-spacing:1.4px;padding-left:13px;margin-bottom:12px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 12px;color:#797e84;font-size:12px;border-radius:8px;min-height:45px}.nav-item .icon{width:18px;height:18px}.nav-item:hover{background:#f1f4f8}.nav-item.active{background:#e1e8f2;color:#293b56;font-weight:600}.nav-item b{margin-left:auto;font-size:10px;padding:0 6px;background:#c3d2e8;border-radius:4px}.sidebar-bottom{margin-top:auto;padding-top:35px}.side-note{padding:17px 12px 28px;font-size:11px;color:#898e96;line-height:1.8}.side-note .icon{color:#7b8fac;margin-bottom:8px}.side-note strong{font-weight:400}.profile-link{border-top:1px solid var(--line);padding:20px 0 12px;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600}.profile-link small{display:block;font-size:9px;color:var(--muted);letter-spacing:1px;font-weight:400}.profile-link>.icon{margin-left:auto;width:14px}.logout{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--muted);padding:8px 6px}.logout .icon{width:15px}.main-shell{margin-left:242px;flex:1;min-width:0}.topbar{height:84px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;font-size:11px;background:#fbfcfd}.breadcrumb{color:#969a9f;margin-left:10px}.topbar-right{display:flex;gap:22px;align-items:center}.today{color:#848991}.topbar .avatar{width:32px;height:32px;font-size:9px}.main-shell main{max-width:1470px;padding:40px 42px 32px;margin:0 auto;min-height:calc(100vh - 145px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:29px}.page-heading h1{margin-bottom:10px}.page-heading .muted{font-size:12px}.greeting-dot{color:#6b87af}.welcome-banner{position:relative;overflow:hidden;background:#dce4f0;min-height:253px;padding:32px 37px;border-radius:var(--radius);display:flex;align-items:center;border:1px solid #d2dbe9}.welcome-banner .eyebrow{color:#697990;font-size:9px}.welcome-banner h2{font-size:33px;letter-spacing:-1px;line-height:1.18;margin-bottom:12px;font-weight:550}.welcome-banner p{font-size:12px;color:#6b788a}.welcome-banner .text-btn{margin-top:13px}.banner-art{position:absolute;width:335px;height:240px;right:25px;bottom:0}.sun{position:absolute;left:43px;top:7px;width:73px;height:73px;background:#a3b8d7;border-radius:50%}.arch{position:absolute;width:122px;height:203px;bottom:-30px;border-radius:80px 80px 0 0;transform:rotate(24deg)}.arch-one{background:#667487;left:121px;bottom:-24px}.arch-two{background:#a6b8d1;left:211px;bottom:-50px;transform:rotate(-19deg);height:210px;border:1px solid #90a8c9}.art-label{position:absolute;left:10px;bottom:28px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:1px;color:#78879d}.stats-grid{display:grid;grid-template-columns:1fr 1fr 1.18fr;gap:18px;margin:23px 0 28px}.stat{border:1px solid var(--line);background:#fff;border-radius:13px;padding:20px 23px;min-height:152px}.stat-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#7a7f86}.stat-icon{height:32px;width:32px;display:grid;place-items:center;border-radius:9px}.stat-icon .icon{width:16px;height:16px}.sand{background:#f5f0e2;color:#b39856}.green{background:#e5eaf2;color:#5a7396}.lavender{background:#efedf5;color:#8a7ca5}.stat-value{display:block;font-size:34px;letter-spacing:-1px;font-weight:550;line-height:1.35;margin:3px 0 4px}.stat-value.date-value{font-size:24px;line-height:1.9}.stat>small{color:#8f949a;font-size:10px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px}.section-heading{padding:23px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{font-size:16px}.section-heading p{font-size:11px;margin-top:5px}.section-heading .text-btn{font-size:10px;white-space:nowrap}.section-heading .text-btn .icon{width:14px}.request-row{width:100%;display:flex;align-items:center;text-align:left;padding:20px 24px;gap:14px;border-top:1px solid #edeff1;transition:background .15s}.request-row:hover{background:#f8f9fb}.request-symbol{width:38px;height:40px;border-radius:10px;background:#e7ecf3;display:flex;align-items:center;justify-content:center;color:#647895;flex-shrink:0}.request-symbol.permesso{background:#f0edf5;color:#9686ab}.request-symbol.ritardo{background:#f7efe1;color:#a28b5f}.request-symbol .icon{width:17px}.request-symbol:has(.avatar){background:none}.request-main{flex:1;min-width:0}.request-main strong{font-size:12px;display:block}.request-main small{color:#8d9298;font-size:10px;display:block;margin-top:3px}.request-year{color:#9ea3ab}.request-duration{font-size:10px;color:#888e96;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:5px;line-height:1.8;padding:3px 8px;font-size:9px;white-space:nowrap;font-weight:500}.badge i{width:4px;height:4px;border-radius:50%;background:currentColor}.badge.pending{background:#f8f2e4;color:#a88b41}.badge.approved{background:#e8edf4;color:#52698a}.badge.rejected{background:#f8eae6;color:#a76658}.badge.cancelled{background:#eeeff1;color:#878c94}.row-chevron{width:13px;color:#9ca3ae}.next-panel{padding:25px;background:#e9edf3;border-color:#d8dfe9}.mini-label{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:1.2px;color:#7b8799}.mini-label .icon{width:15px;height:15px}.next-panel h2{margin-top:19px;font-size:22px}.next-panel p{font-size:11px;line-height:1.9}.empty-orbit{width:80px;height:80px;border:1px solid #c7d2e2;border-radius:50%;display:grid;place-items:center;margin:24px auto}.empty-orbit .icon{width:30px;height:30px;color:#7288a9}.next-panel .text-btn{font-size:10px;margin-top:16px}.next-date{font-size:35px;margin-top:17px;font-weight:550;letter-spacing:-1px}.divider{height:1px;background:var(--line);margin:20px 0}.review-banner{display:flex;align-items:center;gap:16px;background:#e3e8ef;padding:18px 23px;border:1px solid #d5dde8;border-radius:12px;margin-top:22px}.review-banner strong{font-size:12px}.review-banner small{display:block;color:#778394;font-size:11px;margin-top:3px}.review-banner>.icon{margin-left:auto}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:#e0e7f0;color:#657a99;flex-shrink:0}.app-footer{display:flex;justify-content:space-between;padding:14px 42px 22px;color:#9aa0a8;font-size:9px;letter-spacing:.2px}.empty-state{padding:48px 25px;text-align:center;color:#818a97}.empty-state>.icon{width:30px;height:30px;margin:0 auto 15px;color:#90a0b8}.empty-state h3{color:#596679;font-size:14px}.empty-state p{font-size:11px;max-width:300px;margin:8px auto 12px}.list-toolbar{display:flex;justify-content:space-between;gap:16px;padding:22px 24px;flex-wrap:wrap}.tabs{display:flex;gap:3px;overflow-x:auto}.tab{padding:9px 12px;border-radius:7px;font-size:11px;white-space:nowrap;color:#7d8693;min-height:40px}.tab.selected{color:#2d425f;background:#e7ecf4;font-weight:600}.search-box{display:flex;align-items:center;gap:7px;max-width:220px!important;margin:0!important}.search-box .icon{width:16px;color:#848f9d}.search-box input{border:0!important;background:none!important;font-size:11px!important;padding:7px 3px!important;min-height:35px!important}.list-footer{border-top:1px solid var(--line);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#87909e;gap:12px}.calendar-controls{display:flex;gap:7px}.calendar-controls .btn{min-height:38px;padding:6px 16px}.calendar-heading h2{text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day-label{text-align:center;padding:12px 0;font-size:11px;color:#7e8998;border-bottom:1px solid var(--line)}.calendar-cell{min-height:115px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:9px 7px}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.outside{background:#f8f9fb}.day-number{display:grid;place-items:center;width:25px;height:25px;font-size:11px;margin-bottom:6px}.is-today .day-number{background:var(--green);color:#fff;border-radius:50%}.calendar-event{display:block;width:100%;padding:5px 6px;text-align:left;font-size:10px;border-radius:4px;background:#e0e7f2;color:#48638a;margin:4px 0;overflow:hidden;text-overflow:ellipsis}.calendar-event span{display:block;font-size:9px;opacity:.8}.calendar-event.pending{background:#f8f1e0;color:#9e843e}.calendar-legend{display:flex;align-items:center;gap:8px;white-space:nowrap}.calendar-legend i{width:7px;height:7px;border-radius:2px}.legend-green{background:#87a0c5}.legend-sand{background:#d6bd83}.mobile-agenda{display:none}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.person-card{padding:25px;position:relative}.role-label{display:inline-block;padding:4px 8px;border:1px solid #dae1ea;border-radius:5px;font-size:9px;text-transform:none;letter-spacing:1px;color:#6c7a8d;background:#f0f4f9}.person-card>.role-label{position:absolute;right:22px;top:25px}.person-card h2{margin-top:19px;font-size:17px}.person-card p{font-size:11px;margin-top:4px}.person-email{font-size:11px;color:#6d798b;display:block;margin-top:20px;overflow-wrap:anywhere}.person-footer{display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:10px;color:#848f9d}.person-footer i{height:5px;width:5px;border-radius:50%}.active-dot{background:#6482ac}.pending-dot{background:#c2a064}.info-banner{display:flex;gap:14px;align-items:center;border:1px solid #d8dfea;border-radius:12px;background:#e6ebf3;padding:20px 24px;margin-bottom:24px;color:#68788f;font-size:12px}.delegation-row{padding:24px;display:flex;align-items:center;gap:17px;border-bottom:1px solid var(--line)}.delegation-row:last-child{border:0}.delegation-row>div{flex:1}.delegation-row strong{font-size:13px}.delegation-row p{font-size:12px;color:#6f7c8e;margin:3px 0}.delegation-row small{font-size:10px;color:#8c95a2}.danger{color:#a36554}.profile-grid{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}.profile-summary{text-align:center;padding:35px 22px}.profile-summary h2{margin:16px 0 6px}.profile-summary p{font-size:12px;overflow-wrap:anywhere}.profile-summary .role-label{margin-top:15px}.padded{padding:28px}.security-panel{grid-column:2}.padded>p{font-size:12px;margin-top:8px}form{margin-top:25px}label,legend{font-size:12px;font-weight:500;color:#3d4b5e}label{display:block}label input,label select,label textarea{margin-top:8px}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;border:1px solid #d7dee7;background:#fff;border-radius:8px;padding:12px 13px;outline:none;color:#2a394e;min-height:46px;transition:border-color .18s,box-shadow .18s;font-size:13px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca5b1}input:focus,select:focus,textarea:focus{border-color:#738bac!important;box-shadow:0 0 0 3px #738bac1a}label small,fieldset small{display:block;color:#8793a3;font-size:10px;font-weight:400;margin-top:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 18px}.span-2{grid-column:1/-1}.form-error{color:#aa5648;font-size:12px;line-height:1.6;min-height:0}.form-error:empty{display:none}.optional{font-size:10px;color:#8e99a9;font-weight:400;margin-left:5px}.field-hint{font-size:11px;color:#7b889a}.form-grid fieldset{padding:0;border:0;margin:0}.color-options{display:flex;gap:12px;margin-top:12px}.color-options label{position:relative;display:grid;place-items:center;width:36px;height:36px;cursor:pointer}.color-options input{position:absolute;opacity:0}.color-options span{width:28px;height:28px;background:var(--swatch);border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px transparent}.color-options input:checked+span{box-shadow:0 0 0 2px var(--swatch)}.color-options input:focus-visible+span{outline:3px solid #7b8fac;outline-offset:4px}.checkbox-label{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:13px;border-radius:8px;margin-top:9px}.checkbox-label input{margin:0;accent-color:var(--green);width:17px;height:17px}dialog{border:1px solid var(--line);border-radius:18px;padding:30px;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;color:var(--ink);box-shadow:0 30px 100px #1b273826}dialog::backdrop{background:#1d283866;backdrop-filter:blur(4px)}.modal-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.modal-header h2{font-size:25px;letter-spacing:-.8px}.modal-header .eyebrow{margin-bottom:7px;font-size:9px}.modal-subtitle{margin-top:14px;font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:3px}.detail-status{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-top:24px}.detail-period{padding:23px;background:#edf1f6;border:1px solid #dde4ef;border-radius:12px;margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-period small{display:block;font-size:9px;letter-spacing:1px;color:#8490a1;margin-bottom:5px}.detail-period strong{font-size:17px}.detail-period>.icon{color:#8b9bb2;width:16px}.duration-note{display:flex;align-items:center;gap:8px;font-size:11px;color:#76859a;margin:13px 0 24px}.duration-note .icon{width:15px}.detail-note{border-top:1px solid var(--line);padding:20px 0}.detail-note p{font-size:13px;margin-top:10px;white-space:pre-wrap;overflow-wrap:anywhere}.detail-note small{color:#8692a4;font-size:10px}.login-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#dce4ef;padding:50px 60px 30px;position:relative;overflow:hidden;display:flex;flex-direction:column}.story-content{margin:auto 0;padding-top:60px}.story-content>.eyebrow{font-size:9px}.story-content h1{font-size:45px;letter-spacing:-1.8px;line-height:1.2;max-width:500px}.story-content h1 em{font-family:Georgia,serif;font-weight:400;color:#607695}.story-content p{font-size:13px;line-height:1.9;color:#6b7c94;margin-top:24px}.story-footer{font-size:10px;color:#75859b}.abstract-art{height:280px;position:relative;margin-top:35px;max-width:400px}.art-ring{position:absolute;width:180px;height:180px;border:40px solid #8fa3c0;border-radius:50%;left:120px;top:20px}.art-pill{position:absolute;width:105px;height:230px;background:#4e5e74;border-radius:80px;transform:rotate(32deg);left:105px;top:20px}.art-orbit{position:absolute;width:235px;height:235px;border:1px solid #a5b6cf;border-radius:50%;left:80px;top:0}.art-caption{position:absolute;bottom:18px;left:20px;font-family:Georgia,serif;font-style:italic;color:#74869f;font-size:17px}.login-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 45px;background:#fbfcfe;position:relative}.login-form{width:100%;max-width:355px}.login-form h2{font-size:28px;letter-spacing:-.9px}.login-form>.muted{font-size:12px;margin-top:13px;margin-bottom:32px}.login-form form>label{margin-top:21px}.login-form form>.btn{margin-top:27px}.login-form .form-error{margin-top:12px}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:76px!important}.password-wrap button{position:absolute;right:10px;top:12px;font-size:10px;padding:4px;color:#7b8ca4}.login-note{display:flex;gap:12px;padding-top:25px;border-top:1px solid var(--line);margin-top:31px;font-size:10px;color:#8491a3}.login-note .icon{width:17px}.login-bottom{position:absolute;bottom:29px;font-size:8px;color:#929dad;letter-spacing:1.3px}.first-login{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;padding:30px 20px}.first-login .panel{max-width:480px;width:100%;padding:30px}.first-login h1{font-size:28px;margin:20px 0 12px}.first-login p{font-size:13px}.first-login .text-btn{margin-top:18px}.loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:42px;font-weight:600;letter-spacing:-2px}.loading span{font-size:12px;letter-spacing:0;font-weight:400;color:var(--muted);margin-top:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--green);color:var(--on-brand,#fff);padding:13px 20px;border-radius:10px;box-shadow:0 5px 20px #0002;z-index:100;font-size:12px;opacity:0;pointer-events:none;transition:all .2s;max-width:calc(100% - 32px);width:max-content}#toast.visible{opacity:1;transform:translate(-50%,0)}#toast.error{background:#934f42}.skip{position:fixed;left:15px;top:-80px;background:var(--green);color:#fff;padding:12px;z-index:200;border-radius:8px}.skip:focus{top:10px}:focus-visible{outline:2px solid #56729b;outline-offset:4px}[hidden]{display:none!important}@media(min-width:1450px){.main-shell main{padding-top:48px}.welcome-banner{min-height:275px}.welcome-banner h2{font-size:38px}.banner-art{right:80px}.request-row{padding-top:23px;padding-bottom:23px}}@media(max-width:1190px){.sidebar{width:210px;padding-left:15px;padding-right:15px}.main-shell{margin-left:210px}.main-shell main{padding:30px 28px}.topbar{padding:0 28px}.overview-grid{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.request-row{padding:18px 17px;gap:10px}.request-duration{display:none}.section-heading{padding:22px 18px}.banner-art{right:-10px;transform:scale(.88);transform-origin:bottom right}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid{grid-template-columns:230px 1fr}.stat{padding:18px}.stat-value.date-value{font-size:21px}}@media(max-width:950px){.overview-grid{grid-template-columns:1fr}.next-panel{display:none}.stats-grid{gap:12px}.sidebar{width:192px;padding-left:12px;padding-right:12px}.main-shell{margin-left:192px}.main-shell main{padding:28px 23px}.topbar{padding:0 23px}.today{display:none}.page-heading h1{font-size:30px}.welcome-banner{padding:28px}.welcome-banner p{max-width:210px}.banner-art{right:-25px;transform:scale(.8)}.stat-value.date-value{font-size:18px}.profile-grid{grid-template-columns:1fr}.profile-summary{display:none}.security-panel{grid-column:auto}.story-content h1{font-size:35px}.login-story{padding:40px 35px}.abstract-art{transform:scale(.8);transform-origin:left center}.login-main{padding:45px 30px}.calendar-cell{min-height:95px}.calendar-event{padding:4px;font-size:9px}}@media(max-width:720px){body{font-size:14px}.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto;overflow:visible;padding:18px 20px 0;border-right:0;border-bottom:1px solid var(--line);display:block}.sidebar>.brand{font-size:29px;margin:0 0 21px;width:max-content}.brand-mark{transform:scale(.86);margin-right:-2px}.nav-label,.side-note,.sidebar-bottom .logout{display:none}.sidebar nav{flex-direction:row;gap:6px;overflow-x:auto;padding-bottom:11px;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.nav-item{padding:10px 12px;min-height:43px;white-space:nowrap;font-size:12px;gap:7px;flex-shrink:0}.nav-item .icon{width:16px;height:16px}.sidebar-bottom{position:absolute;right:20px;top:17px;padding:0}.profile-link{border:0;padding:0}.profile-link>span:not(.avatar),.profile-link>.icon{display:none}.profile-link .avatar{width:35px;height:35px}.main-shell{margin-left:0}.topbar{display:none}.main-shell main{padding:27px 20px;min-height:calc(100dvh - 180px)}.page-heading{gap:20px;align-items:flex-start;flex-wrap:wrap;margin-bottom:24px}.page-heading .eyebrow{font-size:9px;margin-bottom:10px}.page-heading h1{font-size:31px;letter-spacing:-1.1px}.page-heading .muted{font-size:12px;line-height:1.8;max-width:340px}.page-heading>.btn{width:100%;min-height:49px}.welcome-banner{min-height:224px;padding:26px 24px}.welcome-banner .eyebrow{font-size:8px;letter-spacing:1px}.welcome-banner h2{font-size:28px}.welcome-banner p{font-size:11px;max-width:185px}.banner-art{right:-77px;transform:scale(.66);opacity:.8}.welcome-banner>div:first-child{position:relative;z-index:1}.welcome-banner .text-btn{margin-top:13px;font-size:11px}.stats-grid{grid-template-columns:1fr 1fr;gap:12px;margin:17px 0 23px}.stat{min-height:135px;padding:17px}.stat:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:1fr auto;min-height:100px;align-items:center}.stat:nth-child(3) .stat-top{grid-column:1}.stat:nth-child(3) .stat-icon{display:none}.stat:nth-child(3) .stat-value{grid-column:2;grid-row:1/3;margin:0;font-size:23px}.stat:nth-child(3)>small{grid-column:1}.stat-value{font-size:32px}.stat-top{font-size:12px}.stat>small{font-size:10px}.section-heading{padding:23px 20px}.section-heading h2{font-size:16px}.section-heading p{font-size:10px}.section-heading .text-btn{font-size:10px}.request-row{padding:21px 19px;gap:11px;min-height:92px;flex-wrap:wrap}.request-main strong{font-size:14px}.request-main small{font-size:11px;margin-top:5px}.request-symbol{width:39px;height:43px}.badge{font-size:9px;padding:4px 7px}.row-chevron{display:none}.request-year{display:none}.overview-grid{gap:0}.app-footer{padding:10px 20px 25px;font-size:9px}.app-footer>span:last-child{display:none}.review-banner{padding:17px;gap:12px}.review-banner strong{font-size:11px}.review-banner small{font-size:10px}.review-banner .feature-icon{width:34px;height:36px}.list-toolbar{padding:17px;gap:12px}.tabs{width:100%;padding-bottom:3px}.tab{font-size:11px;padding:9px 11px}.search-box{max-width:none!important;width:100%;border:1px solid var(--line);border-radius:8px;padding:4px 10px!important}.list-footer{padding:15px 18px;font-size:10px;flex-wrap:wrap}.people-grid{grid-template-columns:1fr;gap:16px}.person-card{padding:25px}.person-card h2{font-size:20px}.person-email{font-size:13px}.person-footer{font-size:11px}.person-card .avatar.large{width:64px;height:64px}.info-banner{font-size:12px;padding:19px;align-items:flex-start}.delegation-row{padding:22px 18px;gap:12px;flex-wrap:wrap}.delegation-row>div{min-width:160px}.delegation-row .feature-icon{width:33px;height:36px}.delegation-row small{font-size:10px}.delegation-row .danger{margin-left:auto;min-height:40px}.padded{padding:23px}.form-grid{gap:20px}.form-grid>label:not(.time-field){grid-column:1/-1}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;min-height:49px}label,legend{font-size:13px}.form-grid>.btn{grid-column:1/-1}.calendar-cell{min-height:68px;padding:5px 3px}.calendar-event{font-size:0;min-height:7px;border-radius:2px;padding:0}.calendar-event span{display:none}.calendar-heading{padding:18px 14px}.calendar-heading h2{font-size:15px}.calendar-controls{gap:4px}.calendar-controls .btn{font-size:11px;padding:6px 11px}.icon-btn{width:37px;height:37px}.calendar-legend{font-size:10px}.mobile-agenda{display:block;margin-top:22px}.mobile-agenda .request-row{min-height:92px}.day-number{font-size:12px}.day-label{font-size:10px}.login-layout{grid-template-columns:1fr}.login-story{padding:26px 25px 27px;min-height:0}.login-story .brand{font-size:29px}.story-content{padding-top:35px}.story-content h1{font-size:32px}.story-content .eyebrow{font-size:8px}.story-content p,.abstract-art,.story-footer{display:none}.login-main{padding:36px 25px 60px;min-height:530px;justify-content:flex-start}.login-form{max-width:430px}.login-form h2{font-size:25px}.login-bottom{bottom:22px}.login-form>.muted{font-size:12px;margin-bottom:24px}.login-form .eyebrow{font-size:8px}.login-note{font-size:11px}.login-form form>label{font-size:12px}.password-wrap button{top:13px;font-size:11px}.first-login .panel{padding:25px}.first-login h1{font-size:26px}dialog{padding:24px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:16px}.modal-header h2{font-size:23px}.modal-subtitle{font-size:12px}.modal-actions .btn{flex:1;padding:12px}.detail-period{padding:20px 15px}.detail-period strong{font-size:15px}.detail-note p{font-size:14px}.empty-state{padding:40px 25px}.empty-state h3{font-size:15px}.empty-state p{font-size:12px}#toast{bottom:15px;font-size:12px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.mail-status{display:flex;align-items:center;gap:10px;color:#8d886f;font-size:11px;padding:16px 0 0}.mail-status .icon{width:16px;height:16px}

/* Human illustrations and sentence-case labels. */
.eyebrow,.mini-label,.nav-label,.role-label,.login-bottom,.detail-period small{letter-spacing:.15px;text-transform:none}
.eyebrow{font-size:12px;font-weight:550}
.nav-label{font-size:11px}.mini-label{font-size:11px}.role-label{font-size:11px}
.sidebar .profile-link small{letter-spacing:0;font-size:11px}
.welcome-banner{min-height:280px}
.welcome-banner>div:first-child{position:relative;z-index:1;max-width:calc(100% - 290px)}
.welcome-banner .eyebrow{font-size:12px;letter-spacing:0}
.banner-illustration{position:absolute;right:25px;bottom:-10px;width:300px;height:285px;pointer-events:none}
.banner-illustration img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block}
.login-illustration{height:310px;max-width:390px;margin:24px auto 0}
.login-illustration img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.story-content>.eyebrow,.login-form>.eyebrow{font-size:12px;letter-spacing:0}
.login-bottom{font-size:11px;letter-spacing:0}
.modal-header .eyebrow{font-size:12px;letter-spacing:0}
.detail-period small{font-size:12px}

/* Larger desktop typography without zooming or clipping the layout. */
@media(min-width:721px){
 .main-shell main{max-width:1700px;padding-left:34px;padding-right:34px}
 .page-heading h1{font-size:40px}.page-heading .muted{font-size:14px}
 .nav-item{font-size:14px;padding-top:14px;padding-bottom:14px}
 .topbar{font-size:13px} .profile-link{font-size:14px}.logout{font-size:13px}
 .btn{font-size:14px;min-height:49px}.text-btn{font-size:14px}
 .welcome-banner p{font-size:14px}.welcome-banner h2{font-size:36px}
 .stat-top{font-size:14px}.stat-value{font-size:39px}.stat>small{font-size:12px}
 .stat-value.date-value{font-size:26px}
 .section-heading h2{font-size:20px}.section-heading p{font-size:13px}
 .section-heading .text-btn{font-size:12px}
 .request-row{min-height:90px;padding-top:22px;padding-bottom:22px}
 .request-main strong{font-size:15px}.request-main small{font-size:12px}
 .request-duration{font-size:12px}.badge{font-size:11px;padding:4px 9px}
 .next-panel p{font-size:13px}.next-panel .text-btn{font-size:12px}
 .tab{font-size:13px}.search-box input{font-size:13px!important}
 .list-footer{font-size:12px}.day-label{font-size:13px}.day-number{font-size:13px}
 .calendar-event{font-size:12px}.calendar-event span{font-size:11px}
 label,legend{font-size:14px}label small,fieldset small{font-size:12px}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:15px}
 .person-card h2{font-size:20px}.person-card p,.person-email{font-size:13px}
 .person-footer{font-size:12px}.info-banner{font-size:14px}
 .delegation-row strong{font-size:15px}.delegation-row p{font-size:14px}.delegation-row small{font-size:12px}
 .detail-note p{font-size:15px}.modal-subtitle{font-size:14px}
 .app-footer{font-size:11px}.login-form{max-width:395px}
 .login-form>.muted{font-size:14px}.login-note{font-size:12px}
}
@media(min-width:1100px){.sidebar{width:252px}.main-shell{margin-left:252px}.overview-grid{grid-template-columns:minmax(0,1fr) 290px}}
@media(min-width:1500px){.main-shell main{padding-left:46px;padding-right:46px}.welcome-banner{min-height:300px}.banner-illustration{right:65px;height:310px;width:340px}}
@media(min-width:721px) and (max-width:1099px){
 .main-shell main{padding-left:24px;padding-right:24px}
 .banner-illustration{right:0;width:235px;height:245px}
 .welcome-banner>div:first-child{max-width:calc(100% - 200px)}
 .welcome-banner h2{font-size:30px}.welcome-banner .eyebrow{max-width:200px}
 .stat-value.date-value{font-size:21px}.page-heading{flex-wrap:wrap}
}

/* Agenda: the absence is the primary label; names only help in a team view. */
.agenda-item{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;width:100%;padding:23px 19px;border-top:1px solid var(--line);text-align:left;align-items:start}
.agenda-item:hover{background:#f8f9fb}
.agenda-date{border-radius:11px;background:#e8edf4;text-align:center;padding:9px 4px;display:flex;flex-direction:column;gap:2px;color:#415776}
.agenda-date strong{font-size:24px;line-height:1.1}.agenda-date small{font-size:12px}
.agenda-content{display:flex;flex-direction:column;gap:6px;min-width:0}
.agenda-content>strong{font-size:16px}.agenda-period,.agenda-person{font-size:12px;color:#596679;line-height:1.5}
.agenda-duration{display:flex;align-items:center;gap:6px;font-size:12px;color:#6c798c}
.agenda-duration .icon{width:14px;height:14px}
.agenda-item .badge{margin-top:3px;font-size:10px}
.agenda-open{grid-column:2/-1;display:flex;align-items:center;gap:4px;font-size:11px;color:#6f7d90;margin-top:3px}
.agenda-open .icon{width:12px;height:12px}

/* Native dialog focus/escape behavior, with a short compositor-only entrance. */
@keyframes modal-enter{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
dialog[open]{animation:modal-enter 240ms cubic-bezier(.2,.75,.25,1) both}
dialog[open]::backdrop{animation:backdrop-enter 200ms ease-out both}
@media(max-width:720px){
 .page-heading .eyebrow,.welcome-banner .eyebrow{font-size:11px;letter-spacing:0}
 .welcome-banner{padding:25px 23px 0;min-height:0;display:block}
 .welcome-banner>div:first-child{max-width:none}.welcome-banner p{max-width:270px}
 .banner-illustration{position:relative;right:auto;bottom:auto;width:210px;height:200px;margin:-25px -3px -7px auto}
 .welcome-banner .text-btn{position:relative;z-index:2}
 .login-illustration{display:none}.story-content .eyebrow,.login-form .eyebrow{font-size:11px}
 .mobile-agenda .section-heading p{font-size:12px}
 .modal-header .eyebrow{font-size:11px}
}
@media(prefers-reduced-motion:reduce){dialog[open],dialog[open]::backdrop{animation:none!important}}

/* The Ceo workspace prioritizes team decisions and administration. */
.ceo-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.ceo-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}
.ceo-main,.ceo-side{display:grid;gap:22px;min-width:0}
.ceo-side h2{margin-top:15px}.ceo-side p{font-size:13px;line-height:1.8;margin:10px 0 18px}
.management-link{display:flex;align-items:center;gap:10px;width:100%;padding:17px 0;border-top:1px solid var(--line);text-align:left;font-size:13px}
.management-link>span{flex:1}.management-link>svg:last-child{width:14px}
.management-link small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.management-link:hover{color:#4c668c}
@media(max-width:1099px){.ceo-workspace{grid-template-columns:1fr}.ceo-side{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.ceo-stats{grid-template-columns:1fr 1fr}.ceo-side{grid-template-columns:1fr}.ceo-side p{font-size:13px}.ceo-main .section-heading{align-items:flex-start}.ceo-main .section-heading p{line-height:1.6;max-width:205px}.ceo-stats .stat:nth-child(3) .stat-value{font-size:32px}}

/* Persistent reporting controls and export configuration. */
.report-panel{margin-bottom:26px}
.report-panel>.section-heading{align-items:center;padding-bottom:8px}
.report-panel .eyebrow{margin-bottom:6px}
.report-filters{padding:16px 24px 23px;margin:0;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:16px;border-bottom:1px solid var(--line)}
.report-filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:16px}
.report-filter-actions>span{font-size:12px;color:var(--muted)}
.report-filters>.form-error{grid-column:1/-1}
.report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:23px 24px 10px}
.report-metrics .stat{background:#f5f8fc;padding:17px 19px;min-height:142px}
.report-metrics .stat-value.date-value{font-size:30px;line-height:1.5}
.report-explainer{padding:8px 24px 22px;font-size:12px;color:#6f7c8e}
.report-explainer p{margin-bottom:10px;max-width:900px}
.report-explainer>span{color:#42526a;font-weight:500}
.operations-heading{padding-left:0;padding-top:4px}
.operations-heading p{max-width:800px;line-height:1.7}
.export-dialog{width:min(780px,calc(100% - 32px))}
.report-export-filters{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.export-columns{border:0;padding:24px 0 0;margin:24px 0 0;border-top:1px solid var(--line);min-width:0}
.export-columns legend{font-size:16px;font-weight:600;padding:0;float:left;width:100%;margin-bottom:8px}
.export-columns>p{font-size:12px;clear:both;margin-bottom:12px}
.export-column-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.export-column-options .checkbox-label{margin:0;padding:12px;font-size:12px;min-height:48px}
.export-column-options input{flex-shrink:0}
.export-format{font-size:12px;color:var(--muted);margin:20px 0}
.report-export-form .form-error{margin-bottom:15px}
@media(max-width:1100px){.report-filters{grid-template-columns:1fr 1fr}.report-metrics{gap:10px}.report-metrics .stat{padding:15px}.report-metrics .stat-top{font-size:12px}}
@media(max-width:720px){
 .report-panel>.section-heading{align-items:flex-start;flex-wrap:wrap;padding:20px 18px 8px}.report-panel>.section-heading>.btn{width:100%}
 .report-filters{padding:16px 18px 20px;gap:16px;grid-template-columns:1fr}
 .report-filter-actions{flex-direction:column;align-items:stretch;gap:10px}.report-filter-actions>span{font-size:11px;line-height:1.6}
 .report-metrics{grid-template-columns:1fr;padding:20px 18px 10px;gap:12px}
 .report-metrics .stat{min-height:120px}.report-metrics .stat-top{font-size:14px}.report-metrics .stat>small{font-size:12px}
 .report-explainer{padding:10px 18px 20px;line-height:1.8}
 .report-export-filters,.export-column-options{grid-template-columns:1fr}
 .export-dialog{width:calc(100% - 24px)}.report-export-form .modal-actions{flex-direction:column-reverse}
 .report-export-form .checkbox-label{font-size:13px}.operations-heading h2{font-size:20px}
}
.report-filter-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:14px 24px;color:var(--green);font-size:13px;font-weight:500;list-style:none;border-bottom:1px solid var(--line)}
.report-filter-disclosure>summary::-webkit-details-marker{display:none}
.report-filter-disclosure>summary .icon{width:16px;height:16px;transition:transform .2s}
.report-filter-disclosure[open]>summary .icon{transform:rotate(90deg)}
@media(max-width:720px){.report-filter-disclosure>summary{padding:14px 18px;min-height:48px}}
.report-active-filters{padding:7px 24px 12px;display:flex;flex-wrap:wrap;gap:8px}
.report-active-filters>span{padding:5px 9px;background:#e7ecf4;border-radius:6px;color:#425776;font-size:12px}
@media(max-width:720px){.report-active-filters{padding:6px 18px 12px}.report-active-filters>span{font-size:11px}}

/* Compact dashboards: every card is a real action, using the current theme. */
.dashboard-home{max-width:1320px;margin:0 auto}
.dashboard-home .page-heading{margin-bottom:26px}
.dashboard-home .page-heading h1{font-size:36px}
.dash-period{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:0 2px}
.dash-period>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.dash-period strong{font-size:14px;font-weight:600}
.dash-period>span>span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.dash-period .text-btn{font-size:12px;flex-shrink:0;min-height:44px}
.dash-period .text-btn .icon{width:15px;height:15px}
.dash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dash-card{display:flex;position:relative;overflow:hidden;flex-direction:column;align-items:stretch;text-align:left;min-width:0;min-height:235px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;color:var(--ink);transition:transform .18s,border-color .18s,box-shadow .18s}
.dash-card:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:0 7px 20px #1b2b4810}
.dash-card:active{transform:translateY(-1px)}
.dash-card:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.dash-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;font-weight:500}
.dash-card-top .icon{width:21px;height:21px;color:var(--green)}
.dash-card-value{font-size:46px;line-height:1.15;letter-spacing:-1.4px;margin:22px 0 8px;font-weight:600}
.dash-card-description{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:20px}
.dash-card-action{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;font-size:13px;font-weight:600;color:var(--green)}
.dash-card-action .icon{width:18px;height:18px;transition:transform .18s}
.dash-card:hover .dash-card-action .icon{transform:translateX(3px)}
.dash-card-featured{background:var(--green);border-color:var(--green);color:#fff}
.dash-card-featured .dash-card-top .icon,.dash-card-featured .dash-card-action{color:#fff}
.dash-card-featured .dash-card-description{color:#ffffffe0}
.dash-card-illustrated{background:var(--surface);color:var(--ink);border-color:var(--green)}
.dash-card-illustrated .dash-card-top .icon,.dash-card-illustrated .dash-card-action{color:var(--green)}
.dash-card-illustrated .dash-card-value{font-size:29px;line-height:1.2;letter-spacing:-.8px;margin-top:22px;max-width:75%}
.dash-card-illustrated .dash-card-description{color:var(--muted);max-width:65%;font-size:12px}
.dash-card-illustrated .dash-card-action{max-width:70%;position:relative;z-index:1}
.dash-person{position:absolute;bottom:0;right:-20px;width:125px;height:125px;object-fit:contain;pointer-events:none}
.dash-shortcuts{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;margin-top:20px;border:1px solid var(--line);border-radius:13px;background:var(--surface);overflow:hidden}
.dash-shortcut{display:flex;align-items:center;gap:13px;text-align:left;min-width:0;padding:21px 24px;min-height:79px;border-right:1px solid var(--line);transition:background .18s;font-size:14px}
.dash-shortcut:last-child{border-right:0}
.dash-shortcut>span{flex:1;font-weight:500;min-width:0}
.dash-shortcut>span>small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}
.dash-shortcut>.icon{color:var(--green);width:19px;height:19px}
.dash-shortcut>.icon:last-child{width:14px;height:14px;color:var(--muted)}
.dash-shortcut:hover{background:var(--bg)}
.dash-notice{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-top:18px}
.dash-notice .icon{width:16px;height:16px}
.report-export-form[data-form="report_settings"] .modal-actions{margin-top:23px}
@media(min-width:721px) and (max-width:1100px){
 .dash-grid{gap:12px}.dash-card{padding:20px;min-height:235px}.dash-card-top{font-size:12px}
 .dash-card-value{font-size:37px}.dash-card-description{font-size:12px}.dash-card-action{font-size:12px}
 .dash-card-illustrated .dash-card-value{font-size:24px}.dash-person{width:100px;height:100px;right:-23px}
 .dash-shortcut{padding:18px;font-size:12px;gap:9px}
}
@media(max-width:720px){
 .dashboard-home .page-heading h1{font-size:30px}.dashboard-home .page-heading{margin-bottom:22px}
 .dash-period{align-items:flex-start;flex-direction:column;gap:2px;margin-bottom:13px}
 .dash-period>span>span{font-size:11px;line-height:1.6}
 .dash-grid{grid-template-columns:1fr;gap:13px}
 .dash-card{min-height:170px;padding:21px 22px}
 .dash-card-top{font-size:14px}.dash-card-value{font-size:36px;margin:12px 0 4px}
 .dash-card-description{font-size:12px;margin-bottom:15px}
 .dash-card-action{font-size:12px}
 .dash-card-illustrated .dash-card-value{font-size:28px;margin-top:15px}
 .dash-card-illustrated .dash-card-description{max-width:68%}
 .dash-card-illustrated .dash-card-action{max-width:65%}
 .dash-person{width:145px;height:145px;right:-7px}
 .dash-shortcuts{grid-auto-flow:row;margin-top:16px;grid-template-columns:1fr}
 .dash-shortcut{min-height:68px;padding:16px 21px;border-right:0;border-bottom:1px solid var(--line);font-size:14px}
 .dash-shortcut:last-child{border-bottom:0}
}
@media(prefers-reduced-motion:reduce){.dash-card,.dash-card-action .icon,.dash-shortcut{transition:none!important}.dash-card:hover,.dash-card:active,.dash-card:hover .dash-card-action .icon{transform:none}}

/* Separate management cards, with the compact dashboard scale. */
.dash-management{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border:0;background:none;border-radius:0;overflow:visible;margin-top:20px}
.dash-management .dash-shortcut{display:grid;grid-template-columns:1fr auto;gap:14px;align-content:space-between;align-items:start;min-height:140px;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:var(--surface);transition:transform .18s,border-color .18s,box-shadow .18s}
.dash-management .dash-shortcut>.icon:first-child{width:22px;height:22px;grid-column:1/-1}
.dash-management .dash-shortcut>span{font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.3px}
.dash-management .dash-shortcut>span>small{font-size:12px;line-height:1.5;letter-spacing:0;margin-top:5px}
.dash-management .dash-shortcut>.icon:last-child{align-self:center;width:16px;height:16px;color:var(--green)}
.dash-management .dash-shortcut:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:0 7px 20px #1b2b4810}
.dash-away-names,.dash-away-empty{display:block;font-size:27px;line-height:1.3;letter-spacing:-.5px;overflow-wrap:anywhere}
@media(min-width:721px) and (max-width:1100px){
 .dash-management{gap:12px}.dash-management .dash-shortcut{padding:20px}
 .dash-management .dash-shortcut>span{font-size:17px}.dash-away-names,.dash-away-empty{font-size:23px}
}
@media(max-width:720px){
 .dash-management{grid-template-columns:1fr;gap:13px}
 .dash-management .dash-shortcut{min-height:130px;padding:21px 22px}
 .dash-management .dash-shortcut>span{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.dash-management .dash-shortcut{transition:none!important}.dash-management .dash-shortcut:hover{transform:none}}

/* A single greeting/filter card, followed by today's absences on mobile. */
.ceo-home{display:flex;flex-direction:column}
.dash-header-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:18px}
.dashboard-home .dash-header-card .page-heading{margin-bottom:18px}
.dash-header-card .dash-period{margin:0;padding:16px 0 0;border-top:1px solid var(--line)}
.dash-filter-buttons{display:flex;gap:9px;flex-shrink:0}
.dash-filter-buttons .btn{font-size:13px;min-height:43px;padding:10px 16px}
@media(max-width:720px){
 .ceo-home{gap:13px}
 .ceo-home>.dash-header-card{order:0;margin:0;padding:22px}
 .ceo-home>.dash-grid{display:contents}
 .ceo-home>.dash-grid>.dash-card{order:2}
 .ceo-home>.dash-grid>.dash-today-card{order:1}
 .ceo-home>.dash-management{order:3;margin-top:0}
 .ceo-home>.dash-notice{order:4}
 .dash-header-card .dash-period{gap:14px}
 .dash-filter-buttons{width:100%}.dash-filter-buttons .btn{flex:1}
 .dashboard-home .dash-header-card .page-heading h1{font-size:28px}
}

/* The calendar is part of the home, not a separate navigation destination. */
.home-calendar{margin-top:30px;min-width:0;scroll-margin-top:22px}
.home-calendar-heading{display:flex;justify-content:space-between;gap:15px;margin-bottom:17px}
.home-calendar-heading h2{font-size:23px;letter-spacing:-.5px}
.home-calendar-heading p{font-size:13px;margin-top:6px}
.home-calendar:focus{outline:none}
.home-calendar .calendar-event:focus-visible{outline:2px solid var(--green);outline-offset:1px}
@media(max-width:720px){
 .home-calendar{margin-top:24px;scroll-margin-top:16px}
 .home-calendar-heading h2{font-size:21px}.home-calendar-heading p{font-size:12px}
 .ceo-home>.home-calendar{order:4;margin-top:12px}
 .ceo-home>.dash-notice{order:5}
}

/* Requests: list on the left, selected request on the right. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.rq-split{display:flex;flex-direction:column;min-width:0}
.rq-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px 20px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--line)}
.rq-statuses{display:flex;gap:4px;overflow-x:auto;min-width:0;max-width:100%;padding:2px}
.rq-status.tab{display:inline-flex;align-items:center;gap:8px;font-size:14px;padding:8px 13px;color:#5d6878}
.rq-status.tab span{font-size:12px;font-weight:600;min-width:22px;padding:1px 7px;border-radius:999px;background:#eef1f5;color:#6b7686;text-align:center}
.rq-status.tab.selected span{background:#fff;color:#2d425f}
.rq-tools{display:flex;gap:10px;align-items:center;min-width:0}
.rq-select{margin:0!important}
.rq-select select{min-height:40px!important;padding:8px 34px 8px 12px!important;font-size:13px!important;border-radius:9px!important;width:auto}
.rq-search.search-box{border:1px solid var(--line);border-radius:9px;padding:0 11px!important;width:250px;max-width:100%!important}
.rq-search input{font-size:13px!important;width:100%}
.rq-body{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);min-height:520px}
.rq-list{border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.rq-results{flex:1}
.rq-group-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#6b7686;letter-spacing:0;padding:16px 20px 6px}
.rq-group-title span{font-size:12px;padding:0 7px;border-radius:999px;background:#eef1f5}
.rq-group-pending .rq-group-title{color:#8f7331}.rq-group-pending .rq-group-title span{background:#f8f2e4}
.rq-item{width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:13px 20px;border-radius:0;transition:background .12s}
.rq-item:hover{background:#f6f8fb}
.rq-item.selected{background:#eaf1fc}
.rq-item:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.rq-item-lead{flex-shrink:0;width:38px;height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:#e7ecf3;color:#52698a}
.rq-item-lead .icon{width:18px;height:18px}
.rq-item-lead.permesso{background:#f0edf5;color:#806b9c}.rq-item-lead.ritardo{background:#f7efe1;color:#8f7746}
.rq-item-lead:has(.avatar){background:none}
.rq-item-lead .avatar{width:38px;height:38px;font-size:12px;border-width:2px}
.rq-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.rq-item-main strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rq-item-main small{font-size:13px;color:#6c7684;overflow-wrap:anywhere}
.rq-item-main b{font-weight:600;color:#1f4b8f}
.rq-item .badge{font-size:12px;padding:2px 8px}
.rq-results>.empty-state{padding:60px 25px}
.rq-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:#7a8391;padding:12px 20px;border-top:1px solid var(--line)}
.rq-footer .text-btn{font-size:13px}
.rq-pane{padding:28px 32px;min-width:0}
.rq-pane-head h2{font-size:26px;letter-spacing:-.6px}
.rq-pane-head p{font-size:14px;margin-top:4px}
.rq-pane .rq-review .modal-actions .btn{min-width:130px}
.rq-pane-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#7a8391;text-align:center;font-size:14px}
.rq-pane-empty .icon{width:28px;height:28px;color:#90a0b8}
.rq-pane>*{max-width:620px}
.rq-date{flex-shrink:0;width:58px;padding:9px 4px;border-radius:12px;background:#eef2f8;color:#34506f;display:flex;flex-direction:column;align-items:center;gap:1px}
.rq-date strong{font-size:24px;line-height:1.1}
.rq-date small{font-size:12px}
/* New request dialog */
.rq-form{display:flex;flex-direction:column;gap:20px;margin-top:20px}
.rq-when .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.rq-when input{min-width:0;width:100%}
.rq-form fieldset{border:0;padding:0;margin:0;min-width:0}
.rq-form legend{font-size:15px;font-weight:600;margin-bottom:12px;padding:0}
.rq-kinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rq-kinds legend{grid-column:1/-1}
.rq-kind-option{position:relative;display:block;margin:0!important;cursor:pointer}
.rq-kind-option input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.rq-kind-card{display:flex;flex-direction:column;gap:3px;height:100%;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;transition:border-color .15s,background .15s}
.rq-kind-card strong{font-size:15px;color:var(--ink)}
.rq-kind-card small{font-size:12px;color:#7a8391;line-height:1.4;font-weight:400}
.rq-kind-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#e7ecf3;color:#52698a;margin-bottom:4px;flex-shrink:0}
.rq-kind-icon .icon{width:18px;height:18px}
.permesso .rq-kind-icon{background:#f0edf5;color:#806b9c}.ritardo .rq-kind-icon{background:#f7efe1;color:#8f7746}
.rq-kind-option:hover .rq-kind-card{border-color:#c7d3e4}
.rq-kind-option input:checked+.rq-kind-card{border-color:var(--green);box-shadow:0 0 0 1px var(--green);background:#f6f9ff}
.rq-kind-option input:focus-visible+.rq-kind-card{outline:2px solid var(--green);outline-offset:2px}
.rq-when .form-grid{gap:14px}
.rq-form legend{margin-bottom:10px}
.rq-summary{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:13px;background:#f1f5fb;border:1px solid #dde6f3}
.rq-summary .rq-kind-icon{margin:0}
.rq-summary>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.rq-summary small{font-size:12px;color:#6c7684}
.rq-summary strong{font-size:19px;letter-spacing:-.3px}
.rq-summary>span:last-child>span{font-size:13px;color:#56657a}
.rq-summary.warn{background:#fbf1ee;border-color:#f0d6cf}.rq-summary.warn strong{color:#9e5044}
.rq-reason-field{display:flex;flex-direction:column}
.rq-form .form-error:empty{display:none}
/* Request detail dialog */
.rq-detail-person{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:16px}
.rq-hero.detail-period{justify-content:flex-start;gap:16px;padding:18px;background:#f1f5fb}
.rq-hero .rq-date{background:#fff}
.rq-hero-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.rq-hero-body strong{font-size:17px;line-height:1.3}
.rq-hero-body span{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#56657a}
.rq-hero-body .icon{width:15px;height:15px}
.rq-hero .badge{font-size:12px;align-self:flex-start;margin-bottom:2px}
.rq-timeline{list-style:none;margin:24px 0 0;padding:0}
.rq-timeline li{position:relative;display:flex;gap:14px;padding-bottom:22px}
.rq-timeline li:last-child{padding-bottom:4px}
.rq-timeline li:not(:last-child)::before{content:"";position:absolute;left:6px;top:18px;bottom:-2px;width:2px;background:#e1e6ee}
.rq-dot{flex-shrink:0;width:14px;height:14px;margin-top:4px;border-radius:50%;background:#7fa3dc;box-shadow:0 0 0 4px #fff}
.rq-timeline li.pending .rq-dot{background:#fff;border:2px solid #e4c983}
.rq-timeline li.approved .rq-dot{background:var(--green)}
.rq-timeline li.rejected .rq-dot{background:#c77a6b}
.rq-timeline li.cancelled .rq-dot{background:#b3b8c0}
.rq-timeline li>div{flex:1;min-width:0}
.rq-timeline strong{font-size:15px;display:block}
.rq-timeline small{font-size:12px;color:#7a8391}
.rq-note{margin-top:10px;padding:12px 14px;border-radius:11px;background:#f6f7f9}
.rq-note>span{font-size:12px;color:#7a8391}
.rq-note p{font-size:14px;margin-top:3px;white-space:pre-wrap;overflow-wrap:anywhere}
.rq-review{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:14px}
.rq-review h3{font-size:16px}
.rq-review label{display:flex;flex-direction:column}
.rq-review .form-error:empty{display:none}
.rq-cancel{margin-top:22px}
@media(max-width:1100px){.rq-body{grid-template-columns:minmax(290px,340px) minmax(0,1fr)}.rq-pane{padding:24px}}
@media(max-width:900px){
 .rq-body{display:block;min-height:0}
 .rq-list{border-right:0}
 .rq-pane{display:none}
 .rq-item.selected{background:none}
 .rq-item.selected:hover{background:#f6f8fb}
}
@media(max-width:720px){
 .rq-toolbar{padding:14px;flex-direction:column;align-items:stretch}
 .rq-statuses{margin:0 -2px}
 .rq-tools{flex-direction:column;align-items:stretch}
 .rq-select select{width:100%}
 .rq-search.search-box{width:100%}
 .rq-item{padding:15px 16px;min-height:76px}
 .rq-group-title{padding:16px 16px 4px}
 .rq-footer{padding:14px 16px;flex-wrap:wrap}
 .rq-kinds{grid-template-columns:1fr;gap:8px}
 .rq-kind-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;row-gap:1px;padding:13px 14px}
 .rq-kind-card .rq-kind-icon{grid-row:1/3;margin:0}
 .rq-when .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
 .rq-when .form-grid>label:not(.time-field){grid-column:auto}
 .rq-hero.detail-period{padding:15px;gap:13px}
}

/* Orario di lavoro, saldo ferie e buste paga (prefissi wk- e pay-). */
.wk-panel .section-heading{padding:0 0 18px}.wk-panel .modal-actions{margin-top:18px}
.wk-table{display:grid;gap:8px}
.wk-head,.wk-row{display:grid;grid-template-columns:minmax(150px,1.3fr) repeat(4,minmax(96px,1fr)) 70px;gap:10px;align-items:center}
.wk-head{font-size:12px;color:var(--muted);padding:0 4px}
.wk-row{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff;transition:background .2s}
.wk-row.off{background:#f6f7f9}.wk-row.off .wk-hours{color:var(--muted)}
.wk-row .wk-day{border:0;padding:6px 0;margin:0;min-height:0;font-size:14px;font-weight:600}
.wk-row label{margin:0}.wk-row input[type="time"]{width:100%;min-height:42px}
.wk-row input:disabled{opacity:.45}
.wk-label{display:none}
.wk-hours{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.wk-total{margin:6px 4px 0;font-size:13px}
.wk-list{list-style:none;margin:16px 0 0;padding:0}
.wk-list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.wk-list li:last-child{border:0}.wk-list li.off span{color:var(--muted)}
.pay-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}
.pay-layout>.panel{min-width:0}
.pay-hero{display:block;font-size:56px;line-height:1.1;font-weight:650;letter-spacing:-1px;margin:8px 0 4px;font-variant-numeric:tabular-nums}
.pay-hero span{font-size:22px;font-weight:550;letter-spacing:0}
.pay-facts{margin:20px 0 0;display:grid;gap:0}
.pay-facts div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-size:14px}
.pay-facts dt{color:var(--muted)}.pay-facts dd{margin:0;font-weight:600;text-align:right}
.pay-note,.pay-impact{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;padding:14px 16px;border-radius:12px;background:#eef3fa;color:#4f6280;font-size:13px}
.pay-note .icon,.pay-impact .icon{width:18px;height:18px;flex-shrink:0;margin-top:1px}
.pay-impact{margin:0 0 16px}
.pay-amount{font-weight:600;color:var(--ink)!important}
.pay-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}
.pay-actions .danger{margin-left:0}
a.pay-slip-row{color:inherit;text-decoration:none}a.pay-slip-row:hover{background:#f7f9fc}
.pay-ocr{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:#f3f6fa}
.pay-ocr .icon{width:20px;height:20px;flex-shrink:0;margin-top:2px}.pay-ocr strong{display:block}.pay-ocr small{display:block;color:var(--muted);margin-top:4px;word-break:break-word}
.person-balance{display:flex;align-items:center;gap:8px;justify-content:center;font-size:13px;color:#4f6280;margin:10px 0 0}
.person-balance .icon{width:16px;height:16px}
.calendar-cell.is-off:not(.outside){background:#f8f9fb}
.calendar-holiday{display:block;font-size:11px;line-height:1.3;color:#6f7c8e;margin:2px 0 4px}
@media(max-width:1100px){.pay-layout{grid-template-columns:1fr}}
@media(max-width:900px){
 .wk-head{display:none}
 .wk-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 14px;gap:10px 12px}
 .wk-row .wk-day{grid-column:1/2}.wk-hours{grid-column:2/3;grid-row:1}
 .wk-label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
 .wk-row.off label:not(.wk-day){display:none}
}
@media(max-width:720px){.pay-hero{font-size:44px}.pay-actions{margin-left:0;width:100%}.pay-actions .btn{flex:1}}
@media(prefers-reduced-motion:reduce){.wk-row{transition:none}}
.pay-slip-row strong,.pay-slip-row small,.pay-balance-row small{display:block}
.pay-drafts{margin-bottom:24px;border-color:#c9d9ef}
.pay-drafts .section-heading h2{display:flex;align-items:center;gap:10px}
.pay-count{display:inline-flex;min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:var(--green);color:#fff;font-size:13px;font-weight:600;align-items:center;justify-content:center}
.pay-detect{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px}
.pay-detect .icon{width:14px;height:14px}.pay-detect.ok{color:#2f6b4f}.pay-detect.miss{color:#6f6444}
.pay-apply{border:0;padding:0;margin:0;display:grid;gap:14px}
.pay-apply em{font-style:normal;color:var(--muted)}
.pay-apply-fields[hidden]{display:none}
.pay-ocr a{color:var(--green)}
.pay-detect.edited{color:#4f6280}
.pay-layout .pay-slip-row .pay-actions{margin-left:0;width:100%;padding-left:59px}
@media(max-width:720px){.pay-layout .pay-slip-row .pay-actions{padding-left:0}}
.person-cf{display:block;margin:8px auto 0;font-size:13px;font-variant-numeric:tabular-nums}
.profile-cf{font-size:13px;margin-top:-4px}
.pay-save-cf[hidden]{display:none}

/* Configurazione iniziale, iscrizione e richieste di accesso. */
.setup-steps{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:14px;max-width:420px}
.setup-steps li{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:14px;background:#ffffff80;color:#6b7c94}
.setup-steps li span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid #c9d4e3;font-weight:600;flex-shrink:0}
.setup-steps li span .icon{width:16px;height:16px}
.setup-steps li strong{display:block;color:var(--ink);font-size:15px}.setup-steps li small{font-size:13px}
.setup-steps li.current{background:#fff;box-shadow:0 8px 30px #1b27380f}.setup-steps li.current span{background:var(--green);border-color:var(--green);color:#fff}
.setup-steps li.done span{background:#e1e8f2;color:var(--green);border-color:#c9d4e3}
.setup-form{max-width:640px}
.setup-step{border:0;padding:0;margin:0;min-width:0}
.setup-step h2{font-size:28px;letter-spacing:-.9px}.setup-step>.muted{font-size:14px;margin:12px 0 8px}
.setup-step>label{margin-top:20px}
.setup-step .wk-table{margin-top:18px}
.setup-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}
.setup-layout .login-main{justify-content:flex-start;padding-top:80px}
.setup-layout .wk-head,.setup-layout .wk-row{grid-template-columns:minmax(120px,1.2fr) repeat(4,minmax(80px,1fr)) 54px;gap:8px}
.setup-layout .wk-row input[type="time"]{padding:8px;font-size:13px}
.login-note .text-btn{padding:0;font-size:inherit}
.heading-actions{display:flex;gap:10px;flex-wrap:wrap}
.access-panel{margin-bottom:24px;border-color:#c9d9ef}
.access-panel .section-heading h2{display:flex;align-items:center;gap:10px}
form.access-row{margin:0;flex-wrap:wrap}
.access-role{margin:0;min-width:140px}.access-role select{margin:0}
.access-row .form-error{flex-basis:100%}
.team-signup-note{display:flex;gap:10px;align-items:center;margin:0 0 20px;font-size:13px;color:#5d6d84}
.team-signup-note .icon{width:18px;height:18px}
@media(max-width:1100px){.setup-layout{grid-template-columns:1fr}.setup-layout .login-story{padding:30px 35px}.setup-layout .story-content{padding-top:20px}.setup-layout .login-main{padding-top:40px}}
@media(max-width:900px){.setup-layout .wk-head{display:none}.setup-layout .wk-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.setup-steps{display:none}.setup-actions .btn{flex:1}.heading-actions{width:100%}.heading-actions .btn{flex:1}.access-role{flex:1}}
@media(min-width:1101px){.setup-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.setup-layout .login-story{padding-left:48px;padding-right:48px}.setup-layout .story-content h1{font-size:40px}}
.setup-layout .login-main.setup-blocked{justify-content:center;padding-top:60px}
.temp-password{display:flex;gap:12px;align-items:center;margin:22px 0;padding:16px 18px;border-radius:12px;background:#eef3fa}
.temp-password code{flex:1;font-size:22px;font-weight:600;letter-spacing:.5px;font-variant-numeric:tabular-nums;word-break:break-all}
.security-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:14px 16px;border-radius:12px;background:#eef3fa;color:#4f6280;font-size:13px}
.security-note .icon{width:18px;height:18px;flex-shrink:0}
.pay-apply-note{display:block;color:var(--muted);font-size:12px;margin-top:-6px}
.pay-apply-note{display:block;color:var(--muted);font-size:12px;margin-top:-6px}

/* Colore del workspace (white label): le tinte chiare derivano da --green, impostato dal server in spa.php. */
:root{--brand-soft:color-mix(in srgb,var(--green) 12%,#fff);--brand-soft-2:color-mix(in srgb,var(--green) 8%,#f4f6f9);--brand-line:color-mix(in srgb,var(--green) 22%,#fff)}
.nav-item.active{background:var(--brand-soft);color:color-mix(in srgb,var(--green) 55%,#1c2533)}
.nav-item b,.pay-count{background:var(--green);color:var(--on-brand,#fff)}
.login-story{background:var(--brand-soft-2)}
.info-banner,.pay-note,.pay-impact,.security-note,.temp-password,.pay-ocr{background:var(--brand-soft);border-color:var(--brand-line)}
.is-today .day-number{background:var(--green);color:var(--on-brand,#fff)}
.setup-steps li.current span{background:var(--green);border-color:var(--green);color:var(--on-brand,#fff)}
.access-panel,.pay-drafts{border-color:var(--brand-line)}
.text-btn,.pay-ocr a{color:var(--green)}
.checkbox-label input{accent-color:var(--green)}
/* Logo personalizzato al posto del marchio testuale. */
.brand-logo{display:block;max-height:44px;max-width:190px;width:auto;object-fit:contain}
.login-story .brand-logo{max-height:52px;max-width:240px}
@media(max-width:720px){.brand-logo{max-height:36px;max-width:160px}}
/* Foto profilo. */
.avatar.has-photo{background:#eef1f5 center/cover no-repeat;color:transparent}
.avatar-edit{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.avatar-edit .text-btn{padding:4px 0}
.brand-preview{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);border-radius:12px}
.brand-preview img{max-height:40px;max-width:180px}.brand-preview .fav{width:32px;height:32px;border-radius:8px}
.color-presets{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;align-items:center}
.color-presets label{position:relative;width:34px;height:34px;margin:0;cursor:pointer}
.color-presets input[type=radio]{position:absolute;opacity:0}
.color-presets span{display:block;width:34px;height:34px;border-radius:50%;background:var(--swatch);border:3px solid #fff;box-shadow:0 0 0 1px var(--line)}
.color-presets input:checked+span{box-shadow:0 0 0 2px var(--swatch)}
.color-presets input:focus-visible+span{outline:2px solid #56729b;outline-offset:3px}
.color-presets .custom-color{width:auto;height:auto;display:flex;align-items:center;gap:8px;font-size:13px}
.color-presets input[type=color]{width:44px;height:34px;padding:2px;border-radius:8px;min-height:0;margin:0}
.history-list{list-style:none;margin:0;padding:0}
.history-list li{display:flex;gap:14px;align-items:center;padding:14px 24px;border-top:1px solid var(--line)}
.history-list li>div{flex:1;min-width:0}.history-list strong{display:block;font-size:14px}.history-list small{color:var(--muted)}
.history-delta{font-size:13px;font-weight:600;white-space:nowrap}.history-delta.up{color:#2f6b4f}.history-delta.down{color:#8a4a3c}
.modal-history{max-height:260px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;margin-top:6px}
.modal-history li{padding:10px 14px}
.profile-actions{display:flex;justify-content:flex-end}
.profile-actions .btn{width:auto;min-width:0}
.modal-section-title{font-size:15px;margin:22px 0 4px}
.pay-history{margin-bottom:24px}

.service-error .panel{padding:32px}.service-error h1{margin:0 0 10px}.service-error p{margin:0 0 24px;font-size:15px;line-height:1.6}@media(max-width:640px){.service-error .panel{padding:24px}}

/* Tipi di assenza, malattia, saldo permessi, maturazione e calendario collegato */
.rq-kinds{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.rq-kind-option.sick .rq-kind-icon,.rq-item-lead.sick,.rq-summary.sick .rq-kind-icon{background:#eaf1ec;color:#3f6b58}
.rq-protocol{margin-top:14px}
.rq-protocol-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.rq-protocol-form label{flex:1;min-width:180px;margin:0}
.rq-protocol-form .form-error{flex-basis:100%}
.pay-rol{margin-top:8px}
.pay-rol p{margin:0}
.pay-hero-small{display:block;font-size:34px;line-height:1.15;font-weight:650;letter-spacing:-.5px;margin:6px 0 2px;font-variant-numeric:tabular-nums}
.pay-yearly{font-size:13px;margin:4px 0 0}
.pay-history-sub{padding:0 24px}
.type-row.inactive>div,.type-row.inactive .rq-item-lead{opacity:.55}
.type-row .badge{flex-shrink:0}
.form-hint{font-size:13px;margin:0}
.checkbox-label span small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:2px}
.calendar-feed{grid-column:2}
.calendar-feed .modal-actions,.calendar-feed>.btn{margin-top:16px}
.feed-url code{font-size:13px;font-weight:500;letter-spacing:0;font-variant-numeric:normal}
.feed-steps{margin:0 0 16px;padding:0;list-style:none;display:grid;gap:10px}
.feed-steps li{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:11px}
.feed-steps strong{font-size:14px}
.feed-steps span{font-size:13px;color:#56657a}
@media(max-width:950px){.calendar-feed{grid-column:auto}}
@media(max-width:720px){.pay-history-sub{padding:0 16px}}
.pay-year{border-top:1px solid var(--line,#e6ebe7)}.pay-year:first-of-type{border-top:0}
.pay-year summary{display:flex;align-items:center;gap:12px;padding:16px 24px;cursor:pointer;list-style:none;font-size:18px}
.pay-year summary::-webkit-details-marker{display:none}
.pay-year summary .muted{font-size:14px}.pay-year summary .icon{margin-left:auto;transition:transform .2s}
.pay-year[open] summary .icon{transform:rotate(90deg)}
@media(prefers-reduced-motion:reduce){.pay-year summary .icon{transition:none}}
/* Consulente: interruttori del Ceo e viste in sola lettura (10/11) */
.cs-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;align-items:start;margin-top:24px}
.cs-form{display:grid;gap:18px}
.panel .cs-heading{padding:0 0 18px}
.cs-switches{display:grid;gap:12px}
.cs-switch{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:76px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;cursor:pointer;background:#fff;transition:border-color .2s,background .2s}
.cs-switch input{position:absolute;opacity:0;width:1px;height:1px}
.cs-switch-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--brand-soft-2);color:var(--green)}
.cs-switch-text strong{display:block;font-size:16px;font-weight:600}
.cs-switch-text small{display:block;margin-top:3px;font-size:14px;line-height:1.45;color:var(--muted)}
.cs-toggle{position:relative;width:52px;height:30px;border-radius:30px;background:#cdd3dc;flex-shrink:0;transition:background .2s}
.cs-toggle::after{content:'';position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(23,32,44,.25);transition:transform .2s}
.cs-switch:has(input:checked){border-color:var(--brand-line);background:var(--brand-soft-2)}
.cs-switch input:checked~.cs-toggle{background:var(--green)}
.cs-switch input:checked~.cs-toggle::after{transform:translateX(22px)}
.cs-switch:has(input:focus-visible){outline:3px solid var(--brand-line);outline-offset:2px}
.cs-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:none}
.cs-empty>.icon{width:40px;height:40px;color:var(--green)}
.cs-empty h2{font-size:22px;margin:0}.cs-empty p{margin:0 0 6px;font-size:16px}
.cs-week{border-bottom:1px solid var(--line)}.cs-week:last-child{border-bottom:0}
.cs-week summary{display:flex;align-items:center;gap:14px;padding:18px 24px;cursor:pointer;list-style:none}
.cs-week summary::-webkit-details-marker{display:none}
.cs-week summary span{display:flex;flex-direction:column;gap:2px}.cs-week summary small{color:var(--muted);font-size:13px}
.cs-week summary>.icon{margin-left:auto;transition:transform .2s}.cs-week[open] summary>.icon{transform:rotate(90deg)}
.cs-week .wk-list{margin:0;padding:0 24px 12px}
.person-tax{margin:8px 0 0;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
@media(max-width:1100px){.cs-layout{grid-template-columns:1fr}}
@media(max-width:720px){.cs-switch{grid-template-columns:1fr auto;min-height:84px;padding:16px}.cs-switch-icon{display:none}.cs-switch-text strong{font-size:17px}.cs-week summary{padding:18px 16px}.cs-week .wk-list{padding:0 16px 12px}}
@media(prefers-reduced-motion:reduce){.cs-switch,.cs-toggle,.cs-toggle::after,.cs-week summary>.icon{transition:none}}
/* Importazione delle buste paga storiche (imp-) e Tfr (tfr-), 10/11/2026 */
.imp-dialog,.tfr-dialog{width:min(860px,calc(100% - 32px))}
.imp-drop{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:30px 20px;border:2px dashed var(--line);border-radius:14px;background:color-mix(in srgb,var(--green) 4%,#fff);transition:border-color .18s,background .18s}
.imp-drop strong{font-size:17px}.imp-drop small{color:var(--muted);font-size:13px}
.imp-drop.over{border-color:var(--green);background:color-mix(in srgb,var(--green) 10%,#fff)}
.imp-pick{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}.imp-pick label{position:relative;cursor:pointer}
.imp-pick label:has(input:focus-visible){outline:3px solid var(--brand-line,#9cc1ff);outline-offset:2px}
.imp-picked{font-size:14px;color:var(--ink)}
.imp-progress{display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid var(--line);border-radius:12px}
.imp-progress progress{width:100%;height:12px;border-radius:99px;overflow:hidden;appearance:none;background:var(--bg);border:0}
.imp-progress progress::-webkit-progress-bar{background:var(--bg);border-radius:99px}.imp-progress progress::-webkit-progress-value{background:var(--green);border-radius:99px;transition:width .3s}
.imp-progress progress::-moz-progress-bar{background:var(--green);border-radius:99px}
.imp-count{font-size:17px;font-weight:600;overflow-wrap:anywhere}.imp-progress .muted{font-size:13px}.imp-progress .text-btn{align-self:flex-start}
.imp-summary{display:flex;flex-direction:column;gap:14px}.imp-summary h3{font-size:19px}
.imp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0}
.imp-stats div{border:1px solid var(--line);border-radius:12px;padding:16px}.imp-stats dt{font-size:13px;color:var(--muted)}.imp-stats dd{margin:2px 0;font-size:30px;font-weight:650;letter-spacing:-.8px}.imp-stats small{color:var(--muted)}
.imp-stats .bad dd{color:#a1463a}
.imp-errors{margin:0;padding:12px 16px 12px 32px;border-radius:10px;background:#f8f1ee;color:#7a3f33;font-size:13px;max-height:180px;overflow:auto}
.imp-silent span{display:flex;flex-direction:column;gap:4px}.imp-silent strong{font-size:15px}.imp-silent small{color:var(--muted);font-size:13px;line-height:1.5}
.imp-bulk-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.imp-bulk-head .checkbox-label{margin:0;border:0;padding:6px 0;min-height:0}
.imp-bulk{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;max-height:46vh;overflow:auto}
.imp-bulk li{display:flex;align-items:center;gap:12px;padding:6px 14px;border-bottom:1px solid var(--line)}.imp-bulk li:last-child{border-bottom:0}
.imp-bulk .checkbox-label{flex:1;border:0;margin:0;padding:8px 0}.imp-bulk .checkbox-label span{display:flex;flex-direction:column}.imp-bulk strong{font-size:15px}.imp-bulk small{color:var(--muted)}
.imp-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pay-flag{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:3px 10px;border-radius:99px;background:var(--bg);color:#4f6280;font-size:12px;font-weight:600}
.pay-flag .icon{width:14px;height:14px}.pay-flag.warn{background:#fbf3e4;color:#7a5a1f}
p.pay-flag{border-radius:10px;padding:10px 12px;margin:0;font-size:13px}
.pay-draft>div>.pay-flag{margin-right:6px}
.tfr-list{padding:0}
.tfr-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line)}.tfr-row:last-child{border-bottom:0}
.tfr-who strong{font-size:17px}.tfr-who p{color:var(--muted);font-size:14px;margin-top:2px;overflow-wrap:anywhere}
.tfr-amount{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.tfr-amount strong{font-size:24px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.tfr-amount small{color:var(--muted);font-size:13px}
.tfr-warn{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.tfr-warn li{padding:3px 10px;border-radius:99px;background:#fbf3e4;color:#7a5a1f;font-size:12px;font-weight:600}
.info-banner.tfr-alert{background:#fbf3e4;border-color:#efdfbf;color:#7a5a1f}
.tfr-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 14px}
.tfr-summary div{border:1px solid var(--line);border-radius:12px;padding:14px 16px}.tfr-summary dt{font-size:13px;color:var(--muted)}.tfr-summary dd{margin:4px 0 0;font-size:20px;font-weight:650;font-variant-numeric:tabular-nums}
.tfr-summary .tfr-net{background:color-mix(in srgb,var(--green) 7%,#fff);border-color:color-mix(in srgb,var(--green) 25%,#fff)}
.tfr-dialog .tfr-warn{margin:0 0 16px}
.tfr-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.tfr-dest{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.tfr-dest legend{font-weight:600;margin-bottom:10px;font-size:15px}
.tfr-choice{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;margin:0}
.tfr-choice span{display:flex;flex-direction:column;gap:3px}.tfr-choice strong{font-size:16px}.tfr-choice small{color:var(--muted);font-size:13px}
.tfr-choice input{margin-top:4px;accent-color:var(--green)}.tfr-choice:has(input:checked){border-color:var(--green);background:color-mix(in srgb,var(--green) 6%,#fff)}
.tfr-choice:has(input:focus-visible){outline:3px solid var(--brand-line,#9cc1ff);outline-offset:2px}
.tfr-fund[hidden],.imp-dialog [hidden]{display:none!important}
.tfr-year{border:1px solid var(--line);border-radius:12px;margin-top:10px}
.tfr-year summary{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;list-style:none;font-size:16px}.tfr-year summary::-webkit-details-marker{display:none}
.tfr-year summary span{color:var(--muted);font-size:14px}.tfr-year summary .icon{margin-left:auto;transition:transform .2s}.tfr-year[open] summary .icon{transform:rotate(90deg)}
.tfr-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 18px;margin:0;padding:4px 18px 14px}
.tfr-facts dt{font-size:13px;color:var(--muted)}.tfr-facts dd{margin:2px 0 0;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tfr-facts dd small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.tfr-ro{margin-top:16px;padding:16px 0 0;border-top:1px solid var(--line)}
.tfr-table-wrap{padding:0 18px 16px;overflow-x:auto}
.tfr-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.tfr-table th{text-align:left;font-weight:600;color:var(--muted);font-size:13px;padding:8px 10px;border-bottom:1px solid var(--line)}
.tfr-table td{padding:9px 10px;border-bottom:1px solid var(--line)}.tfr-table tr:last-child td{border-bottom:0}
.tfr-table .tfr-estimate td:nth-child(3){color:#4f6280}.tfr-table .tfr-missing td{color:#7a5a1f;background:#fdf8ef}
.tfr-istat{display:flex;flex-direction:column;gap:10px}
.tfr-istat-row{display:grid;grid-template-columns:110px 1fr 1fr;gap:12px;align-items:end;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0}
.tfr-istat-row legend{float:left;font-weight:650;font-size:17px;padding:0;align-self:center;width:100%}
.tfr-istat-row label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);margin:0}
.tfr-istat-row:not(:has([name="dec_index"])) label:first-of-type{grid-column:2}
.tfr-istat-note{grid-column:1/-1;color:var(--muted);font-size:12px}
@media(max-width:900px){.tfr-summary{grid-template-columns:1fr 1fr}.tfr-row{grid-template-columns:auto 1fr;gap:12px 16px}.tfr-amount{grid-column:1/-1;align-items:flex-start;text-align:left}.tfr-row>.btn{grid-column:1/-1;width:100%}}
@media(max-width:720px){.imp-stats{grid-template-columns:1fr}.imp-stats div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.imp-stats dd{font-size:24px}
 .tfr-dest{grid-template-columns:1fr}.tfr-choice{padding:18px;min-height:76px}.tfr-row{padding:20px 16px}.tfr-summary dd{font-size:18px}
 .tfr-istat-row{grid-template-columns:1fr;padding:14px}.tfr-istat-row:not(:has([name="dec_index"])) label:first-of-type{grid-column:auto}
 .tfr-table thead{display:none}.tfr-table,.tfr-table tbody,.tfr-table tr,.tfr-table td{display:block;width:100%}.tfr-table tr{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;padding:6px 0}
 .tfr-table td{display:flex;justify-content:space-between;gap:12px;border:0;padding:6px 12px}.tfr-table td::before{content:attr(data-label);color:var(--muted)}
 .imp-bulk li{flex-wrap:wrap}.imp-pick,.imp-pick label{width:100%}}
@media(prefers-reduced-motion:reduce){.imp-drop,.imp-progress progress::-webkit-progress-value,.tfr-year summary .icon{transition:none}}

/* Correzioni 10/11: quarta casella «Già presenti» nel riepilogo dell’import, errore accanto al campo nella configurazione guidata. */
.imp-stats:has(>div:nth-child(4)){grid-template-columns:repeat(4,1fr)}
@media(max-width:720px){.imp-stats:has(>div:nth-child(4)){grid-template-columns:1fr}}
.field-error{display:block;color:#aa5648!important;font-size:12px!important;margin-top:8px}
input[aria-invalid="true"]{border-color:#aa5648!important}

/* Compensi amministratore (#director): anni, totali, scadenze F24 (vicine o scadute evidenziate con sobrietà), pagamenti e parametri. */
.dir-years{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.dir-year-btn{min-height:44px;padding:8px 18px;border:1px solid var(--line);border-radius:99px;background:var(--surface);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.dir-year-btn[aria-pressed="true"]{border-color:var(--green);background:color-mix(in srgb,var(--green) 8%,#fff);color:var(--ink)}
.dir-year-btn:focus-visible{outline:3px solid var(--brand-line,#9cc1ff);outline-offset:2px}
.dir-year{margin-bottom:20px}.dir-year .section-heading{padding:0 0 18px;align-items:flex-start;gap:16px}.dir-year h2{font-size:22px}
.dir-notes{margin-top:8px;color:var(--ink);font-size:14px;white-space:pre-line;overflow-wrap:anywhere}
.dir-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.dir-totals div{border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-width:0}.dir-totals dt{font-size:13px;color:var(--muted)}
.dir-totals dd{margin:4px 0 0;font-size:20px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.dir-totals div:last-child{background:color-mix(in srgb,var(--green) 7%,#fff);border-color:color-mix(in srgb,var(--green) 25%,#fff)}
.dir-est{display:inline-block;margin-left:4px;padding:1px 8px;border-radius:99px;background:var(--bg);color:#4f6280;font-size:12px;font-weight:600;vertical-align:middle;letter-spacing:0}
.dir-missing{color:#7a5a1f;font-size:14px;font-weight:600}
.dir-annual{margin-top:14px}.dir-note{margin:0;padding:0 18px 14px;color:var(--muted);font-size:13px}
.dir-params-line{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:14px;color:var(--muted)}
.dir-params-line span{display:inline-flex;align-items:center;gap:8px}.dir-params-line .icon{width:16px;height:16px}
.dir-panel{padding:0;margin-bottom:20px}.dir-panel>.section-heading{padding:22px 24px 12px}
.dir-row{display:flex;align-items:center;gap:16px;padding:18px 24px;border-top:1px solid var(--line)}
.dir-row>div:not(.dir-amount):not(.pay-actions){flex:1;min-width:0}.dir-row strong{font-size:16px}.dir-row p{color:var(--ink);font-size:14px;margin-top:2px;overflow-wrap:anywhere}.dir-row small{color:var(--muted);font-size:13px;overflow-wrap:anywhere}
a.dir-row:hover{background:color-mix(in srgb,var(--green) 4%,#fff)}
.dir-amount{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.dir-amount strong{font-size:19px;font-variant-numeric:tabular-nums}.dir-amount small{color:var(--muted);font-size:12px}
.dir-row>div>small{display:block}
.dir-docs{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
.dir-deadline{border-left:4px solid transparent}
.dir-deadline.dir-soon{border-left-color:#d8b46a;background:#fdf9f0}.dir-deadline.dir-soon small{color:#7a5a1f;font-weight:600}
.dir-deadline.dir-overdue{border-left-color:#c98b7f;background:#fbf4f2}.dir-deadline.dir-overdue small{color:#8a3f33;font-weight:600}
.dir-deadline.dir-paid strong,.dir-deadline.dir-paid .dir-amount strong{color:var(--muted)}
.dir-param-group{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0;display:grid;gap:10px}.dir-param-group legend{font-weight:600;font-size:15px;padding:0 6px}
.dir-param{display:grid;grid-template-columns:1fr 190px;align-items:center;gap:12px;margin:0;font-size:14px}.dir-param>span:first-child{overflow-wrap:anywhere}
.dir-param-input{display:flex;align-items:center;gap:8px}.dir-param-input input{flex:1;min-width:0;text-align:right}.dir-param-input em{font-style:normal;color:var(--muted);width:14px}
div.dir-param strong{text-align:right;font-variant-numeric:tabular-nums}
.dir-values{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0}.dir-values legend{font-weight:600;font-size:15px;padding:0 6px}
.dir-values[hidden]{display:none!important}
.dir-home-notice{color:var(--ink);font-size:13px}.dir-home-notice:hover span{text-decoration:underline}
@media(max-width:900px){.dir-totals{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
 .dir-row{flex-wrap:wrap;padding:18px;gap:12px}.dir-row>div:not(.dir-amount):not(.pay-actions){flex-basis:calc(100% - 60px)}
 .dir-amount{align-items:flex-start;text-align:left;flex-basis:100%;padding-left:56px}.dir-row>.btn,.dir-row>.text-btn,.dir-row>.badge{margin-left:56px}
 .dir-row .pay-actions{padding-left:56px}.dir-panel>.section-heading{padding:20px 18px 10px}
 .dir-param{grid-template-columns:1fr}.dir-year .section-heading{flex-wrap:wrap}.dir-year .section-heading>.btn{width:100%}
 .dir-year-btn{flex:1;min-height:48px}
}
@media(max-width:420px){.dir-totals{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.dir-annual summary .icon{transition:none!important}}

/* Archivio dei file (Impostazioni del team → Stato e file) */
.storage-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.storage-line p{margin:0}
.storage-status{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:16px}.storage-status p{margin:3px 0 0}
.storage-dot{flex:none;width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--green)}
.storage-status.bad{border-color:#e6cfc9;background:#fbf4f2}.storage-status.bad .storage-dot{background:#a1463a}.storage-status.idle .storage-dot{background:#c2a064}
.storage-filters{margin:18px 0 0}.storage-table-wrap{padding:0;margin-top:12px;max-height:46vh;overflow:auto}
.storage-table-wrap .badge{font-size:12px}.storage-doc small{display:block;overflow-wrap:anywhere}
@media (max-width:640px){.storage-table-wrap{max-height:none}.storage-doc{text-align:right;min-width:0}.storage-filters .dir-year-btn{flex:1 1 auto}}
