/* Bitfix v36: official logo and palette, adapted to a working application. */
@font-face{font-family:BitfixInter;src:url('/brand/Inter-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--ink:#202923;--muted:#536057;--blue:#245440;--light-blue:#e2ecd9;--border:#d2d8ca;--paper:#f4f1e9;--green:#285c42;--accent:#b5e56b;--charcoal:#1b211e;--pine:#153e32;font-family:BitfixInter,'Avenir Next',-apple-system,sans-serif}
h1,h2,h3{font-family:'Avenir Next',BitfixInter,-apple-system,sans-serif}h1{letter-spacing:-1.1px;font-weight:700}
.sidebar{background:var(--charcoal);border-color:#344038;color:#f4f1e9}.brand{display:flex;align-items:flex-start;flex-direction:column;gap:16px;margin:0 10px 42px;letter-spacing:normal}.brand-logo{display:block;width:165px;height:auto}.product-label{font-size:10px;letter-spacing:3px;color:#bdcbbd;border-top:1px solid #455347;padding-top:13px;width:100%}.workspace-label{color:#9bab9b}.nav-item{color:#c2cdc0;border-radius:5px}.nav-item:hover{background:#29372e}.nav-item.active{background:#304832;color:#d9f4b6;box-shadow:inset 3px 0 var(--accent)}.sidebar-bottom{color:#c7d2c3}.sidebar-bottom .muted{color:#a1b19f}.status-dot{background:var(--accent)}
.topbar{background:#faf8f2;border-color:var(--border)}.avatar{background:#dfe8d8;color:#315a40}.preview-banner{color:#58664e}.preview-banner>span{border-color:#c3ccb7;background:#e9ebdf;color:#536343}
.primary{background:var(--pine);color:#f4f1e9;box-shadow:none;border-radius:5px}.primary:hover{background:#28543e}.secondary{border-color:#c7cebf;background:#faf8f2;color:#354f3d;border-radius:5px}.secondary:hover{background:#e5ebdc}.link{color:#285c3b}.button:focus-visible,a:focus-visible{outline:2px solid #527838}
.search-hero{background:linear-gradient(118deg,#1b211e,#202e27 65%,#153e32);border-radius:8px}.search-hero h2{color:#f4f1e9}.search-hero p,.search-hint{color:#c5d0bf}.search-hero input{box-shadow:none;background:#faf8f2}.suggestions{border-color:#bac8ae}.suggestions a:hover,.suggestions a:focus,.suggestions a.selected{background:#e4eedb}
.panel,.stat{background:#fcfbf7;border-color:var(--border);border-radius:8px}.stat small{color:#607354}.stat>strong{color:#233e2b}.stat b{color:#3a6943}.eyebrow{color:#62754f}.mini-icon{background:#e0ead5;color:#385c39;border-radius:5px}th{background:#eceee4;color:#57664b}td{border-color:#e1e4d9}.badge{background:#e7e9df;color:#59684f}.badge.blue{background:#dceacc;color:#355b32}.package-price{color:#233e2b}.package-choice:has(input:checked){background:#eaf1df;border-color:#557d3b}.info-line{background:#e7efdd;color:#3d5935}.internal-note{background:#e9e5d9;color:#5e6856}.balance-grid .balance-highlight,.summary-balance{background:#e5efd8;border-color:#c2d5b0;color:#34542c}.balance-highlight span{color:#496b3b}.success{background:#e4efdb;color:#385c31}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#c5cdbc;background:#fffefa;color:#202923;border-radius:5px}input:focus,select:focus,textarea:focus{outline:2px solid #85a86a;border-color:#52743d}input[type=checkbox],input[type=radio]{accent-color:#466c34}
footer{color:#67745f}.login-body{background:radial-gradient(at 85% 15%,#244233,transparent 70%),#1b211e}.login-card{background:#f4f1e9;border-color:#667c55;border-radius:10px}.login-card .brand{background:#1b211e;padding:24px;border-radius:6px;align-items:center}.login-card .product-label{text-align:center}.login-card .primary{background:var(--accent);color:#213a24}.login-card .primary:hover{background:#c7ed8a}
.calc-result{border-top:4px solid #98c951}.calc-result .balance-grid strong{font-size:27px}.calc-result h2{font-size:23px}.calc-result .detail-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1150px){.brand-logo{width:145px}}@media(max-width:800px){.sidebar{padding:18px 20px 12px}.brand{flex-direction:row;align-items:center;justify-content:space-between;margin:0 0 18px}.brand-logo{width:142px}.product-label{border:0;border-left:1px solid #455347;padding:8px 0 8px 20px;width:auto}.sidebar nav{overflow-x:auto}.nav-item{flex:0 0 auto;padding:10px 13px}.calc-result .detail-grid{grid-template-columns:1fr 1fr}}

.check:has(input:disabled){opacity:.55;cursor:not-allowed}

.intervention-types{border:0;padding:0;margin:20px 0;display:flex;flex-wrap:wrap;gap:10px}.intervention-types legend{margin-bottom:12px}.intervention-types label{margin:0;cursor:pointer;gap:8px}.intervention-types label:has(input:checked){background:#e4eedb;border-color:#52743d}.intervention-types input{width:auto;margin:0}
.clock-shell{max-width:650px;margin:auto}.clock-top{display:flex;align-items:center;gap:16px;margin-bottom:14px}.clock-top h1{margin:0;margin-right:auto}.clock-session{padding:16px;margin:12px 0;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.clock-session>div{flex:1}.clock-session span,.clock-session b{display:block}.clock-session b{font-size:24px;font-variant-numeric:tabular-nums}.clock-enter{width:100%;padding:20px;font-size:23px;background:#153e32;color:white;margin-top:14px}.clock-exit{background:#b4232c;color:#fff;padding:16px 24px;font-size:20px}.clock-exit:hover{background:#921c24}.clock-exit:focus-visible{outline:3px solid #b4232c;outline-offset:3px}.clock-new{background:#fcfbf7;border:1px solid #d2d8ca;padding:16px;border-radius:8px}.clock-new summary{font-weight:bold;cursor:pointer}.clock-new label{margin-top:10px}.clock-new input,.clock-new select{min-height:44px}.clock-new input[type=checkbox],.clock-new input[type=radio]{min-height:0}.clock-new .intervention-types{margin:12px 0}.clock-new .intervention-types label{margin:0;padding:10px}.clock-suggestion{display:block;width:100%;text-align:left;padding:12px;border:1px solid #d2d8ca;background:#e7efdd;color:#153e32;border-radius:4px;cursor:pointer;margin:4px 0}.clock-warning{width:100%;font-size:12px;color:#944711}.clock-help{font-size:12px;color:#536057;margin:16px 0}
@media(max-width:800px){body.clock-page .sidebar,body.clock-page .topbar,body.clock-page .preview-banner,body.clock-page footer{display:none}body.clock-page main{padding:12px 14px max(12px,env(safe-area-inset-bottom))}.clock-top h1{font-size:25px}.clock-shell .small{font-size:11px}.clock-top a{font-size:12px}.clock-new{padding:12px}.clock-enter{padding:15px}.clock-new .intervention-types{gap:6px}.clock-new .intervention-types label{font-size:13px}.clock-session{padding:12px}}

.portal-shell{max-width:1100px;margin:auto;padding:24px}.portal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#1b211e;color:#f4f1e9;padding:20px;margin-bottom:28px;border-radius:12px}.portal-logo{width:130px}.portal-header form{margin:0}.portal-pdf{display:inline-flex;margin-top:20px;padding:20px 28px;font-size:1.1rem}@media(max-width:600px){.portal-shell{padding:12px}.portal-header{flex-wrap:wrap;padding:16px}.portal-header span{font-size:.8rem}.portal-pdf{width:100%;justify-content:center}.portal-shell h1{font-size:2rem}}
.clock-delete{border:0;margin:0;padding:0}.clock-delete>summary{font-size:12px}.clock-delete form{padding:12px 0}.clock-delete button{margin-top:10px;font-size:14px}.project-billable{border-top:1px solid var(--border);padding:16px 0}.project-billable h3{margin-bottom:6px}.project-billable .form-actions{margin-top:8px}

.clock-recent{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-top:14px}.clock-recent>p{margin:0}.clock-recent .clock-delete[open]{flex-basis:100%}
[data-omada-field] .button{margin-top:10px}.barcode-dialog{width:min(560px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:24px;color:var(--ink);background:#fcfbf7}.barcode-dialog::backdrop{background:#17231dcc}.barcode-dialog video{display:block;width:100%;max-height:40dvh;object-fit:contain;background:#111;border-radius:6px}.barcode-dialog .form-actions{flex-wrap:wrap}.barcode-dialog .barcode-photo{position:relative;overflow:hidden;margin:0}.barcode-photo input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.barcode-dialog [data-barcode-use]{margin-top:12px}
.delete-action{margin:16px 0}.delete-action form{max-width:600px}.delete-action button{margin-top:12px;font-size:14px}.device-photo-button{position:relative;overflow:hidden;margin:0!important}.device-documents{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px;margin-top:20px}.device-document{border:1px solid var(--border);padding:16px;border-radius:8px;overflow-wrap:anywhere;min-width:0}.device-document img{width:100%;height:180px;object-fit:contain;background:#f4f1e9}

.sidebar{overflow-y:auto}.nav-group{margin:6px 0}.nav-group>summary{cursor:pointer;padding:13px 12px;color:#c2cdc0;font-size:13px;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center}.nav-group>summary::after{content:'＋'}.nav-group[open]>summary::after{content:'−'}.nav-group>summary::-webkit-details-marker{display:none}.nav-children{margin-left:10px;border-left:1px solid #455347;padding-left:5px}.nav-children .nav-item{font-size:12px;padding:10px}.nav-group>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:800px){.sidebar nav{display:flex;flex-wrap:wrap;overflow:visible;align-items:flex-start}.nav-group{flex:1 1 100%;margin:0}.nav-group>summary{padding:10px 12px}.nav-children{display:flex;flex-wrap:wrap}.sidebar nav>.nav-item{flex:1 1 auto}.nav-children .nav-item{flex:0 1 auto}}

.work-alerts{display:flex;align-items:center;gap:8px}.work-alert{position:relative}.work-alert>summary{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;cursor:pointer;list-style:none;background:var(--paper);position:relative;color:#163e32}.work-alert>summary::-webkit-details-marker{display:none}.work-alert svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.work-alert[open]>summary{background:#deebce}.alert-count{position:absolute;right:-5px;top:-6px;background:#9b3530;color:white;border-radius:12px;padding:2px 5px;font-size:10px;min-width:17px;text-align:center}.alert-popover{position:absolute;right:0;top:49px;width:min(430px,calc(100vw - 24px));max-height:70vh;overflow:auto;background:#fcfaf5;border:1px solid var(--border);box-shadow:0 12px 45px #163e3233;border-radius:12px;padding:22px;z-index:30;color:var(--ink);font-size:13px}.alert-popover article{border-top:1px solid var(--border);padding:16px 0}.alert-popover p{font-size:12px}.alert-popover h2{font-size:20px}.alert-popover h3{font-size:15px}.alert-popover form{margin:0}.alert-popover summary{cursor:pointer}.alert-popover .check{display:flex;gap:8px;align-items:flex-start;margin:14px 0}.work-alert>summary:focus-visible{outline:2px solid #789853;outline-offset:3px}.topbar{position:relative;z-index:10}.account{flex-wrap:nowrap}
@media(max-width:800px){.topbar{height:auto;min-height:70px;padding:12px;gap:10px;flex-wrap:wrap}.topbar>.account{margin-left:auto}.alert-popover{position:fixed;top:90px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 120px)}.work-alerts{gap:6px}.account>.avatar{display:none}.topbar>.account>.link{font-size:10px}}
.work-alert{border:0;margin:0;padding:0}.work-alert>summary{margin:0;padding:0}
.business-overview{border-top:1px solid var(--border);margin-top:40px;padding-top:32px}.business-overview h2{font-size:25px}.metrics-periods{display:flex;flex-wrap:wrap;gap:8px}.metrics-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.metrics-chart-scroll{overflow-x:auto}.metrics-chart{height:220px;display:flex;gap:8px;min-width:460px;align-items:stretch;padding-top:8px}.metrics-column{display:flex;flex:1;min-width:12px;flex-direction:column;text-align:center;justify-content:flex-end;gap:10px}.metrics-column>span{font-size:10px;white-space:nowrap;transform:rotate(-30deg);height:26px}.metrics-bars{height:180px;display:flex;flex-direction:column;justify-content:flex-end;border-bottom:1px solid var(--border);background:repeating-linear-gradient(to top,transparent,transparent 44px,#d4dac944,#d4dac944 45px)}.metrics-bars>div{min-width:8px;max-width:44px;width:100%;margin:0 auto;border-radius:3px 3px 0 0}.metrics-hours{background:#6b894f}.metrics-billed{background:#163e32}.metrics-pending{background:repeating-linear-gradient(135deg,#b7ce8f,#b7ce8f 6px,#dce8c5 6px,#dce8c5 10px)}.metrics-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px}.metrics-legend span{display:flex;align-items:center;gap:6px}.metrics-legend i{width:12px;height:12px;border-radius:2px}.threshold{padding:18px;background:#f0f4e9;border-radius:8px;margin:16px 0}.threshold progress{display:block;width:100%;height:14px;accent-color:#6b894f;margin:12px 0}.threshold p{margin:0}.threshold-warning{background:#fff0cc}.threshold-warning progress{accent-color:#b67c16}.threshold-danger{background:#fbe2df}.threshold-danger progress{accent-color:#ad3b34}.business-overview .stat>strong{font-size:28px}.business-overview .info-line p{margin:8px 0}@media(max-width:1050px){.metrics-charts{grid-template-columns:1fr}.business-overview .stats{grid-template-columns:1fr}.business-overview .card-top{flex-wrap:wrap}}

.metrics-charts>*{min-width:0}.business-overview{min-width:0;max-width:100%}.business-overview .table-wrap{max-width:100%;overflow-x:auto}

/* Show the annual flat fee only when its option is selected. */
label.check:has(> input[type="checkbox"]:not(:checked)) + label.forfait-price { display: none; }

.badge.invoice-paid { background: #16a34a; color: #fff; }
.badge.invoice-unpaid { background: #ffb347; color: #522800; }
.badge.invoice-overdue { background: #dc2626; color: #fff; }

.form-section > .imported-invoice > p { font-size: 12px; }

.invoice-list{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fcfbf7}.invoice-columns{display:grid;grid-template-columns:minmax(150px,1.5fr) minmax(90px,.8fr) 95px 95px minmax(100px,.8fr) minmax(145px,1fr) 18px;gap:14px;align-items:center}.invoice-head{padding:14px 18px;background:#eceee4;font-size:12px}.invoice-head a{font-weight:600}.invoice-row{margin:0;padding:0;border:0;border-top:1px solid var(--border)}.invoice-row>summary{padding:16px 18px;cursor:pointer;list-style:none;font-size:12px;margin:0}.invoice-row>summary::-webkit-details-marker{display:none}.invoice-row>summary:hover{background:#f1f4e9}.invoice-row>summary:focus-visible{outline:2px solid #557d3b;outline-offset:-3px}.invoice-row>summary>*{min-width:0;overflow-wrap:anywhere;float:none}.invoice-row .badge{justify-self:end;text-align:center;font-size:11px}.invoice-row[open]>.invoice-columns{background:#edf2e5}.invoice-row[open] .invoice-expand{transform:rotate(180deg)}.invoice-expanded{padding:20px;border-top:1px solid var(--border)}.invoice-expanded>.panel{border:0;padding:0;margin:0;background:transparent}.invoice-year{margin:0;padding:10px 18px;background:#f2f2ea;font-size:13px}.invoice-list-help{font-size:12px}.invoice-expand{text-align:center}@media(max-width:1100px){.invoice-columns{grid-template-columns:minmax(110px,1.3fr) 80px 80px 80px 90px minmax(110px,1fr) 12px;gap:8px}.invoice-row>summary,.invoice-head{padding:12px}}@media(max-width:700px){.invoice-head{display:flex;flex-wrap:wrap;gap:14px}.invoice-head>span{display:none}.invoice-row>summary{grid-template-columns:1fr 1fr 18px;gap:10px}.invoice-row>summary>strong:first-child{grid-column:1/3;font-size:14px}.invoice-row>summary>span:nth-child(2){grid-column:1}.invoice-row>summary>span:nth-child(3)::before{content:'Emissione ';color:#61705d}.invoice-row>summary>span:nth-child(4)::before{content:'Saldo ';color:#61705d}.invoice-row>summary>.badge{grid-column:1/3;justify-self:start}.invoice-row>summary>.invoice-expand{grid-column:3;grid-row:1}.invoice-expanded{padding:16px}}

.client-hours-strip{display:flex;justify-content:flex-end;gap:12px;float:right;margin:0 0 16px 20px;position:relative;z-index:1}
.client-hours-strip:empty{display:none}
.client-hour-badge{display:flex;flex-direction:column;justify-content:center;min-width:112px;padding:12px 16px;border-radius:12px;text-decoration:none;color:#294637;border:1px solid #ccd5c5;background:#f6f5ef;text-align:center}
.client-hour-badge span{font-size:12px;line-height:1.3}.client-hour-badge strong{font-size:25px;line-height:1.35}
.client-hour-badge.sage{background:#dfe8d5;border-color:#c6d4ba}
.client-hour-badge.orange{background:#f3e2c9;border-color:#e1c6a1;color:#74502b}
.client-hour-badge.red{background:#f1d9d7;border-color:#dfb9b5;color:#8a3f3b}
@media(max-width:650px){.client-hours-strip{float:none;margin:0 0 16px;flex-wrap:wrap}.client-hour-badge{min-width:90px;padding:9px 12px}}
/* Stati coerenti con la palette tenue dei saldi ore. */
.badge.invoice-paid,.alert.success{background:#dfe8d5;color:#294637}
.badge.invoice-unpaid,.threshold-warning{background:#f3e2c9;color:#74502b}
.badge.invoice-overdue,.alert.error,.threshold-danger{background:#f1d9d7;color:#8a3f3b}
.proposal-card[hidden],[data-proposal-fields][hidden],[data-proposal-summary][hidden],[data-proposal-picker][hidden]{display:none!important}
[data-proposal-summary]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
[data-proposal-summary] strong{flex:1}

.message-preview{max-width:760px;width:90%;max-height:85vh;overflow:auto;border:1px solid #ccd5c5;border-radius:12px;padding:24px;background:#fcfbf7;color:#202923}.message-preview .button{margin-top:24px}
.easy-datetime{display:flex;align-items:center;gap:6px;position:relative;width:100%}.easy-datetime>input[type=text]{min-width:0;flex:1}.easy-picker{padding:10px;border:1px solid #ccd5c5;border-radius:6px;background:#f6f5ef;color:#294637;cursor:pointer}.easy-datetime>.easy-native{position:absolute!important;right:0;bottom:0;opacity:0;width:1px!important;height:1px!important;pointer-events:none;padding:0!important;border:0!important}

.visit-date-times{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.visit-time-stack{display:grid;gap:16px}@media(max-width:650px){.visit-date-times{grid-template-columns:1fr}}
\n.autocomplete .suggestions{top:100%;max-height:320px;overflow-y:auto}\n
.client-filter-field{position:relative}
.client-filter-field input{padding-right:52px}
.client-filter-field input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.client-filter-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;padding:0;border:0;background:transparent;color:#526451;font-size:26px;line-height:1}

.client-hours-strip ~ .page-heading + *{clear:both}

.pending-client-badge{display:inline-flex}
.client-hour-badge.purple,.pending-panel{background:#eee5f5;border-color:#d5c3e3;color:#634479}
.pending-panel{clear:both}
.pending-client-badge{margin:8px 12px 12px 0}
.pending-panel summary{font-weight:700;cursor:pointer}
.pending-panel form+form{margin-top:24px}
@media(max-width:650px){
.table-wrap:has(.mobile-readable){overflow:visible}
table.mobile-readable,table.mobile-readable tbody,table.mobile-readable tr,table.mobile-readable td{display:block;width:100%;min-width:0}
table.mobile-readable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
table.mobile-readable tbody>tr{border:1px solid #d4ddcd;border-radius:10px;padding:10px;margin-bottom:14px;background:#faf9f5}
table.mobile-readable td{border:0;padding:7px 4px;white-space:normal!important;overflow-wrap:anywhere}
table.mobile-readable td[data-column-label]::before{content:attr(data-column-label);display:block;font-size:12px;color:#526451;font-weight:600;margin-bottom:4px}
table.mobile-readable input:not([type=checkbox]):not([type=radio]),table.mobile-readable select{max-width:100%}
table.mobile-readable input[type=checkbox]{width:22px;height:22px}
table.mobile-readable tr[hidden]{display:none}
.form-actions{flex-wrap:wrap}
.pending-client-link form{margin-bottom:18px}
}
/* Compact client overview and progressively disclosed detail. */
.client-hours-strip{float:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0 0 18px;max-width:100%;z-index:auto}
.client-hour-badge{min-width:110px;max-width:210px;padding:9px 12px;border-radius:9px;min-height:66px;box-sizing:border-box}
.client-hour-badge span{font-size:11px}.client-hour-badge strong{font-size:18px;line-height:1.4}.client-hour-badge:hover{filter:brightness(.97)}
.quiet-action,.client-workspace .button.secondary{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#385744;background:transparent;border:0;padding:6px 0;min-height:32px;box-shadow:none;text-decoration:none}
.quiet-action:hover,.client-workspace .button.secondary:hover{text-decoration:underline}
.client-workspace .form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}
.client-workspace .page-heading{align-items:center}.client-workspace .page-heading h1{margin-bottom:12px}
.disclosure.panel{padding:0;margin:14px 0;overflow:hidden}.disclosure>summary,.invoice-compact>summary{list-style:none;display:flex;align-items:center;gap:12px;cursor:pointer;padding:18px 22px;font-size:16px;font-weight:650;margin:0}
.disclosure>summary::-webkit-details-marker,.invoice-compact>summary::-webkit-details-marker{display:none}
.disclosure>summary::after,.invoice-compact>summary::after{content:'';width:7px;height:7px;flex-shrink:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:auto;transition:transform .15s}
.disclosure[open]>summary::after,.invoice-compact[open]>summary::after{transform:rotate(225deg)}
.disclosure>summary>span{font-size:12px;font-weight:400;color:#65715f}.disclosure-body{padding:0 22px 20px}.disclosure[open]>summary{border-bottom:1px solid #e1e5d9;margin-bottom:18px}
.invoice-compact{border:1px solid #d5dbce;border-radius:8px;margin:10px 0}.invoice-compact>summary{display:grid;grid-template-columns:minmax(80px,1fr) minmax(85px,1fr) minmax(95px,1fr) minmax(90px,1fr) 12px;font-size:13px;padding:14px}.invoice-compact .badge{justify-self:end;text-align:center}.invoice-compact[open]>summary{border-bottom:1px solid #e1e5d9;margin-bottom:16px}
.client-workspace .internal-note{font-size:12px;padding:12px 16px}.client-workspace .panel .panel{box-shadow:none}.option-unavailable{display:none!important}
.work-alerts{display:flex;align-items:center;gap:8px}.work-alert>summary{width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:7px;box-sizing:border-box}.work-alert>summary svg{width:17px;height:17px;flex:none}
@media(max-width:650px){.client-hours-strip{justify-content:flex-start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.client-hour-badge{min-width:0;max-width:none}.client-workspace .page-heading{flex-wrap:wrap;gap:4px}.disclosure>summary{padding:16px;font-size:15px;flex-wrap:wrap}.disclosure-body{padding:0 14px 16px}.invoice-compact>summary{grid-template-columns:1fr 1fr 12px;gap:8px}.invoice-compact>summary>span.badge{grid-column:2;grid-row:2}.invoice-compact>summary::after{grid-column:3;grid-row:1/3}.invoice-compact>summary>span:nth-child(2){text-align:right}.invoice-compact>summary>strong:nth-child(3){grid-column:1;grid-row:2}}
.client-picker-inline{display:flex;align-items:center;gap:8px}.client-picker-inline input{flex:1;min-width:0}.icon-action{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;padding:0;border:1px solid #ced7c7;border-radius:8px;background:transparent;color:#375644;font-size:22px;cursor:pointer}.icon-action:hover{background:#e6ecdf}.pending-dialog{max-width:460px;width:calc(100% - 36px);padding:24px;background:#faf9f4;color:#25372c;border:1px solid #ced7c7;border-radius:14px}.pending-dialog::backdrop{background:#12271c66}.pending-dialog h2{font-size:21px}.pending-dialog input{width:100%}.clock-shell .pending-panel{padding:18px;margin:18px 0}.clock-shell>[data-locate]{font-size:13px;padding:6px 0;background:transparent;border:0;box-shadow:none}.clock-shell .pending-panel h3{font-size:17px}
.client-quick-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:4px 0 24px;padding:12px 0;border-top:1px solid #d9dece;border-bottom:1px solid #d9dece}.client-quick-actions a{font-size:13px;font-weight:600;color:#375744;text-decoration:none}.client-quick-actions a:hover{text-decoration:underline}.invoice-compact>summary>strong{overflow-wrap:anywhere}.disclosure>summary>span{overflow-wrap:anywhere}.disclosure>summary:focus-visible,.invoice-compact>summary:focus-visible,.icon-action:focus-visible{outline:2px solid #6a8656;outline-offset:-3px}
[data-clock-status].pending-text{color:#725082}
.overview-client-name{display:flex;flex-direction:column;justify-content:center;align-self:stretch;min-width:180px;flex:1;text-align:left;color:#263f32;text-decoration:none;padding:6px 12px 6px 0}.overview-client-name span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6d7b60}.overview-client-name strong{font-size:20px;line-height:1.3;overflow-wrap:anywhere}.overview-client-name:hover strong{text-decoration:underline}@media(max-width:650px){.overview-client-name{grid-column:1/-1;min-width:0}.overview-client-name strong{font-size:19px}}

.visit-timing{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:13px;line-height:1.5}.visit-timing small{display:block;font-size:11px;opacity:.75}.visit-inline-edit{margin-top:12px}.visit-inline-edit>summary{font-size:13px;color:var(--green,#315840)}.visit-inline-edit form{margin-top:16px}.visit-inline-edit .field-grid{grid-template-columns:1fr}

.client-communication-status{flex:0 0 100%;min-width:0;margin-top:8px}.client-communication-status>details>summary{font-size:13px;text-align:right;color:#49644e}.client-communication-status>details>summary>span{font-weight:400;margin-left:10px;font-size:12px}.communication-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:12px}.communication-status-card{border:1px solid #d5ddce;border-radius:10px;background:#f7f7f2;padding:12px;text-align:left}.communication-status-card>a{display:grid;gap:5px;font-size:12px;color:#344c3d;text-decoration:none}.communication-status-card>a>strong{font-size:13px}.communication-status-card.green{border-left:4px solid #a9bd99}.communication-status-card.orange{border-left:4px solid #dfbd8e}.communication-status-card.red{border-left:4px solid #d9aaa5}.communication-status-card summary,.communication-status-card p{font-size:11px;margin-top:8px}@media(max-width:600px){.client-communication-status>details>summary{text-align:left}.client-communication-status>details>summary>span{display:block;margin-left:0}.communication-status-grid{grid-template-columns:1fr}}
.pending-work-row{background:#eee5f5;color:#674777}.pending-work-row a{color:#674777}.pending-work-row .visit-inline-edit{min-width:150px}.pending-work-row details[open]{min-width:300px}

.client-communication-status summary .communication-attention{color:#93662f;font-size:15px;margin-left:6px;vertical-align:middle}

@media(max-width:800px){.clock-client-information{margin-top:16px;min-width:0}.clock-client-information>summary{padding:14px 0}.clock-client-information .client-hours-strip{float:none;margin:12px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0}.clock-client-information .client-communication-status{grid-column:1/-1;min-width:0}.clock-client-information .client-hour-badge{min-width:0;overflow-wrap:anywhere}.clock-client-information .communication-status-grid{grid-template-columns:minmax(0,1fr)}}

.client-communication-status summary .communication-attention,.backup-attention{display:inline-block;background:#f2d9d6;color:#8b423c;border:1px solid #e3b5b0;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;line-height:1.4}.dashboard-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}dialog{padding:24px;box-sizing:border-box}dialog form{margin:0}.alert-popover{padding:22px;box-sizing:border-box}.alert-popover details[open]>form{padding:12px 0}.work-alert .alert-popover{padding:22px}.annual-turnover>summary{font-weight:600}

@media(min-width:1000px){.stats.productivity-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.productivity-stats .stat{min-width:0;padding:22px}.productivity-stats .stat strong{font-size:clamp(23px,2.3vw,36px);white-space:nowrap}}

.nfon-partner{max-width:1200px;margin:24px auto;padding:24px;width:100%;box-sizing:border-box}.nfon-phone{padding:18px;border:1px solid #d1d8c9;border-radius:10px;margin:12px 0}.nfon-phone label{min-width:0}.nfon-phone input{width:100%}@media(max-width:650px){.nfon-partner{padding:14px;margin:0}.nfon-phone{grid-template-columns:1fr}.nfon-partner .stats{grid-template-columns:1fr}}

/* NFON: contained fields and readable line items. */
[data-nfon-form] .easy-datetime>.easy-native{left:0;right:auto;bottom:0}
[data-nfon-form] .autocomplete{position:relative;min-width:0}
[data-nfon-client-results]{position:absolute;top:100%;left:0;right:0;max-height:280px;overflow:auto;z-index:30;background:var(--surface,#fff);border:1px solid #cbd5c4;border-radius:8px;box-shadow:0 6px 18px #0002}
[data-nfon-client-results] button{display:block;width:100%;padding:12px 16px;text-align:left;background:transparent;border:0;color:inherit;cursor:pointer}
[data-nfon-client-results] button:hover,[data-nfon-client-results] button:focus{background:#e5eedc}
[data-nfon-form] h2{margin-top:28px}
.nfon-extra{border:1px solid #cbd5c4;border-radius:12px;padding:18px;margin:12px 0}
[data-nfon-form] .nfon-phone,[data-nfon-form] .nfon-extra{align-items:end}
@media(min-width:1100px){[data-nfon-form] .nfon-phone{grid-template-columns:100px 1fr 1fr 1.3fr auto}[data-nfon-form] .nfon-extra{grid-template-columns:2fr 1fr auto}}
@media(max-width:600px){[data-nfon-form] .nfon-extra{grid-template-columns:1fr}}

.nfon-calendar{position:absolute;top:100%;left:0;z-index:50;width:290px;max-width:100%;padding:16px;background:#fff;border:1px solid #cbd5c4;border-radius:12px;box-shadow:0 8px 24px #0003;box-sizing:border-box}
.nfon-calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.nfon-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.nfon-calendar button{border:0;background:transparent;padding:8px 4px;cursor:pointer;color:#163e32}
.nfon-calendar button:hover,.nfon-calendar button:focus{background:#e5eedc;border-radius:5px}

.badge.quote-accepted{background:#eee5f5;color:#634479}.quote-invoice-reminders{border-left:5px solid #9470ac}.quote-invoice-amount{display:block;font-size:24px;color:#634479}.quote-invoice-reminders .info-line{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:20px 0}

.invoice-totals-frame{border:1px solid #111;border-radius:10px;padding:24px;margin:24px 0 0 auto;width:100%;max-width:430px;box-sizing:border-box}.invoice-totals-frame>p{margin:0 0 12px}.invoice-totals-frame .invoice-total-value{font-size:30px}.invoice-totals-frame .compact{margin-bottom:0}.invoice-decimal-hours{display:block;margin-top:8px;font-size:12px}

.invoice-transfer-summary{border:1px solid #191919;border-radius:10px;padding:18px 22px;margin:20px 0;background:#faf9f4}.invoice-transfer-summary h3{font-size:16px;margin:0 0 14px}.invoice-transfer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px}.invoice-transfer-grid span{display:block;font-size:12px;color:#627060;margin-bottom:4px}.invoice-transfer-grid strong{font-size:17px}.invoice-transfer-pay strong{color:#163e32}.invoice-transfer-pay{border-top:1px solid #cbd3c4;padding-top:8px}@media(max-width:650px){.invoice-transfer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.invoice-transfer-summary{padding:16px}}

.badge.document-warning{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #171717;border-radius:10px;background:transparent;color:#25372c;line-height:1.3;text-decoration:none}.badge.document-warning svg{width:23px;height:23px;flex:0 0 23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.badge.document-warning:hover{background:#ffffff66}.badge.document-warning:focus-visible{outline:2px solid #375644;outline-offset:3px}
.message-preview{max-width:820px;width:calc(100% - 32px);box-sizing:border-box;padding:20px}.message-preview h2{font-size:22px;margin:0 0 12px}.message-preview .preview-subject{font-size:15px;font-weight:600}.email-preview-frame{display:block;width:100%;height:60vh;border:1px solid #d9ded3;border-radius:8px;background:#f3f2ec}.email-preview-frame[hidden]{display:none}.message-preview>p{font-size:13px}.message-preview .button{margin-top:12px}

.badge.email-optional{background:transparent;color:#242924;border:1px solid #111;border-radius:8px;}

.portal-languages{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.portal-languages a{padding:7px 12px;border:1px solid #aab7a2;border-radius:8px;text-decoration:none}.portal-languages a[aria-current="true"]{background:#163e32;color:#fff;border-color:#163e32}.portal-header{flex-wrap:wrap;gap:14px}
