@charset "UTF-8";
.brand-art{background:white;border-radius:18px;padding:12px;margin-bottom:34px;max-width:520px}.brand-art img{width:100%;height:auto;display:block}.catalog-panel{margin-top:24px}.block{display:block}.check-row{display:flex;gap:12px;align-items:flex-start;margin:20px 0;font-size:.9375rem}.check-row input{width:20px;height:20px;flex-shrink:0}.legal-text{overflow-wrap:anywhere}.legal-text p{white-space:pre-wrap}.auth-panel:has(.legal-text){align-items:stretch}.auth-panel .form-panel{width:100%}
:root{--blue:#155be5;--blue-hover:#1047b6;--ink:#17243b;--muted:#58677e;--bg:#f3f6fb;--line:#dce3ee;--surface:#fff;--nav:#101e36;--radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.5;color-scheme:light}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #82afff;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:3px solid #d8e6ff;border-color:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:2.2rem;letter-spacing:-.045em;line-height:1.2;margin-bottom:12px;font-weight:700}h2{font-size:1.15rem;letter-spacing:-.025em;margin-bottom:6px}h3{font-size:1.08rem;margin-bottom:6px}p{margin-bottom:16px}small{font-size:.8125rem}strong{font-weight:650}.muted{color:var(--muted)}.eyebrow{display:block;font-size:.75rem;font-weight:750;letter-spacing:.13em;color:var(--blue);margin-bottom:12px}.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}.skip-link{position:absolute;top:-100px;left:16px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}
.app-shell{display:flex;min-height:100dvh}.sidebar{width:248px;flex-shrink:0;background:var(--nav);color:#e0e8f6;padding:32px 20px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh}.brand{display:flex;align-items:center;gap:11px;font-size:1.25rem;letter-spacing:-.04em;font-weight:400}.brand-weight{font-weight:750}.brand small{display:block;font-size:.625rem;letter-spacing:.2em;margin-top:1px;color:#9aaccc}.workspace-label{font-size:.6875rem;letter-spacing:.12em;color:#93a4bf;margin:48px 12px 14px;font-weight:650}.nav-link{display:flex;align-items:center;gap:13px;padding:12px;border-radius:9px;margin-bottom:6px;font-size:.875rem;min-height:46px}.nav-link>span:first-child{font-size:1.3rem;width:24px;text-align:center;flex-shrink:0}.nav-link.selected{background:#203b64;color:#fff;box-shadow:inset 3px 0 #6ca2ff}.nav-link[href]:hover{background:#233550}.upcoming{color:#9ba9c0;cursor:default}.upcoming small{font-size:.6875rem;margin-left:auto;white-space:nowrap}.modules-label{margin-top:32px}.sidebar-bottom{margin-top:auto;padding:28px 12px 0}.version{font-size:.75rem;color:#a4b3cd}.connection{font-size:.75rem;color:#c6d3e7;display:flex;align-items:center;gap:8px;margin-top:10px}.connection i,.status-dot{width:6px;height:6px;background:#54ceae;border-radius:50%;display:inline-block}.workspace{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{min-height:88px;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;border-bottom:1px solid var(--line)}.breadcrumb{color:var(--muted);font-size:.875rem}.breadcrumb span{margin:0 14px;color:#bbc4d4}.account-menu{position:relative}.account-menu summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.avatar{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%;background:#e7eefb;color:#205cb6;font-weight:700;font-size:.875rem}.avatar.large{width:44px;height:44px;font-size:1rem}.account-name{font-size:.875rem}.account-name small{display:block;color:var(--muted);font-size:.75rem}.account-popover{position:absolute;right:0;top:55px;min-width:210px;padding:8px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 35px #12244a18;border-radius:12px;z-index:10}.account-popover a,.account-popover button{display:block;padding:12px;border:0;background:transparent;width:100%;text-align:left;font-size:.875rem;border-radius:6px}.account-popover a:hover,.account-popover button:hover{background:var(--bg)}.main-content{padding:38px 40px 40px;max-width:1536px;width:100%;margin:0 auto;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.page-heading p{margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:11px 18px;border-radius:9px;border:1px solid transparent;font-size:.875rem;font-weight:650;line-height:1.5;min-height:46px;text-align:center}.primary{background:var(--blue);color:#fff;box-shadow:0 3px 8px #155be51c}.primary:hover{background:var(--blue-hover)}.secondary{background:white;color:var(--ink);border-color:var(--line)}.secondary:hover{background:#eaf0f9}.full{width:100%}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:28px}.metric{padding:22px 25px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.metric>span{display:block;color:var(--muted);font-size:.875rem}.metric strong{display:block;font-size:2.4rem;letter-spacing:-.06em;margin:5px 0}.metric small{color:var(--muted)}.metric small i{margin-right:6px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:24px}.panel-heading{padding:24px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.panel-heading p{font-size:.875rem;color:var(--muted);margin:0}.panel-body{padding:10px 26px 20px}.search{display:flex;gap:8px;max-width:380px;width:100%}.search input{min-width:0;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:.875rem;background:#fafbfd}.search button{background:white;border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:8px 12px;font-size:.875rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:.75rem;color:var(--muted);font-weight:600;padding:13px 26px;background:#fafbfd;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:22px 26px;border-bottom:1px solid #edf0f5;font-size:.875rem}tr:last-child td{border-bottom:0}.company-cell{display:flex;align-items:center;gap:12px;min-width:180px}.company-cell small{display:block;color:var(--muted);margin-top:3px}.company-mark{width:40px;height:40px;border:1px solid #dce5f7;background:#eef3ff;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--blue);font-weight:750;flex-shrink:0}.text-link,.row-link,.text-button{color:var(--blue);font-size:.875rem}.text-link:hover,.row-link:hover,.text-button:hover{text-decoration:underline}.strong{font-weight:650}.row-link{white-space:nowrap}.row-link span{margin-left:12px}.badge{display:inline-flex;align-items:center;border-radius:6px;padding:4px 9px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge.active{background:#eaf7f1;color:#17624a}.badge.paused{background:#fff1de;color:#845416}.badge.planned{background:#edf1f7;color:#56677f}.empty-state{text-align:center;padding:60px 24px}.empty-state p{color:var(--muted);max-width:400px;margin:0 auto 24px;font-size:.9375rem}.empty-symbol{display:inline-flex;font-size:2rem;color:var(--blue);width:70px;height:70px;align-items:center;justify-content:center;background:#edf3ff;border:1px solid #dee8fc;border-radius:18px;margin-bottom:20px}.empty-state.compact{padding:36px 24px}.page-footer{padding:0 40px 22px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:.75rem}
.team-banner{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#e9f0ff;border:1px solid #d4e1fa;border-radius:var(--radius);padding:28px 30px;margin-bottom:28px}.team-banner h2{font-size:1.45rem}.team-banner p{font-size:.9375rem;color:#506485;max-width:540px;margin:10px 0 0}.numbering-summary{padding-left:28px;border-left:1px solid #c7d8f5;flex-shrink:0}.numbering-summary>span{display:block;font-size:.6875rem;letter-spacing:.08em;color:#506485;font-weight:700}.numbering-summary strong{display:block;font-size:1.35rem;letter-spacing:-.03em;margin-top:8px}.numbering-summary strong span{color:#8499bb;margin:0 8px}.numbering-summary small{color:#506485}.count{font-size:.75rem;padding:3px 8px;background:#edf2f9;border-radius:6px;margin-left:8px;color:var(--muted)}.technician-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;padding:24px;align-items:start}.technician-card{border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0;max-width:430px}.technician-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.email{font-size:.8125rem;color:var(--muted);overflow-wrap:anywhere;margin-bottom:18px}.prefix-strip{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;background:#f3f6fc;border-radius:8px}.prefix-strip span{font-size:.8125rem;color:var(--muted)}.prefix-strip strong{color:var(--blue);font-size:1.15rem}.sequence{font-size:.75rem;color:var(--muted);margin:10px 0 16px}.access-state{font-size:.75rem;color:var(--muted)}.card-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:16px}.text-button{border:0;background:transparent;padding:10px 0;min-height:40px}.danger-text{color:#ac3341}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px}.manager-row{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.manager-row:last-child{border:0}.manager-row strong{font-size:.9375rem}.manager-row small{display:block;color:var(--muted);overflow-wrap:anywhere}.activity-list{padding:18px 26px 22px;margin:0;list-style:none}.activity-list li{display:flex;gap:12px;padding:8px 0}.activity-dot{width:7px;height:7px;background:#89a9e0;border-radius:50%;margin-top:8px;flex-shrink:0}.activity-list p{font-size:.875rem;margin:0 0 4px}.activity-list small{color:var(--muted);font-size:.75rem}.next-modules{margin:12px 0 30px}.next-modules>h2{font-size:1rem;margin-bottom:18px;color:var(--muted)}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.module-grid article{padding:20px;border:1px dashed #cbd5e5;border-radius:12px}.module-number{font-size:.75rem;color:#7c8da5;display:block;margin-bottom:14px}.module-grid p{font-size:.875rem;color:var(--muted)}.module-grid h3{font-size:1rem}.company-state{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:24px}.company-state p{font-size:.8125rem;color:var(--muted);max-width:480px;margin:0}.inline-separator{padding:0 10px}.back-link{display:inline-block;font-size:.875rem;color:var(--muted);margin-bottom:22px}.form-panel{max-width:730px;padding:30px}.field{margin-bottom:22px}.field label,label[for=invite-url]{display:block;font-size:.875rem;font-weight:650;margin-bottom:7px}.optional{font-weight:400;color:var(--muted);font-size:.75rem;margin-left:10px}.field input,.field select,.field textarea,.copy-row input{width:100%;padding:12px 13px;border:1px solid #cbd5e3;border-radius:8px;color:var(--ink);background:white;min-height:48px;font-size:1rem}.field-help{color:var(--muted);font-size:.8125rem;margin-top:8px}.field-help ul{padding-left:20px}.field-help li{margin:4px 0}.field-error input{border-color:#bd4650}.error-text,.errorlist{color:#9e2734;font-size:.875rem}.errorlist{padding-left:18px;margin:8px 0}.form-errors{padding:10px 15px;background:#fff0f1;border:1px solid #f1ccd1;border-radius:8px;margin-bottom:22px}.form-footer{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.notice{background:#f0f5ff;border:1px solid #d9e4f9;padding:15px 18px;border-radius:10px;font-size:.875rem;color:#3a547f;margin-bottom:24px}.notice.warning{background:#fff8ec;border-color:#f0dfbd;color:#785624}.messages{margin-bottom:24px}.message{border:1px solid #bddfce;background:#edf8f2;color:#205e46;padding:14px 18px;border-radius:10px;font-size:.875rem}.message.error{background:#fff0f1;color:#9e2734;border-color:#f1ccd1}.invite-panel{max-width:760px;padding:38px}.invite-panel h1{margin-top:8px}.invite-panel>p{color:var(--muted)}.success-symbol{display:flex;width:54px;height:54px;border-radius:50%;align-items:center;justify-content:center;background:#e8f7ef;color:#207850;font-size:1.6rem;margin-bottom:22px}.invite-details{background:var(--bg);padding:16px 20px;border-radius:10px;margin:26px 0}.invite-details>div{display:flex;justify-content:space-between;gap:18px;padding:6px 0;font-size:.875rem}.invite-details dt{color:var(--muted)}.invite-details dd{margin:0;text-align:right;overflow-wrap:anywhere}.copy-row{display:flex;gap:8px}.copy-row input{min-width:0;font-size:.875rem}.invite-panel>.button{margin-top:20px}
.auth-layout{min-height:100dvh;display:grid;grid-template-columns:46% 54%;background:white}.auth-story{background:#112341;color:white;padding:48px 60px;display:flex;flex-direction:column;justify-content:space-between;gap:60px;border-right:6px solid var(--blue)}.auth-story>.brand{color:white}.auth-story h1{font-size:clamp(2.3rem,3.9vw,4rem);letter-spacing:-.05em;line-height:1.14;margin:22px 0}.auth-story .eyebrow{color:#91b9ff;font-size:.75rem}.auth-story p{color:#bac9df;max-width:360px;line-height:1.7;font-size:1rem}.auth-foot{color:#91a5c3;font-size:.8125rem}.auth-panel{padding:60px 40px;display:flex;flex-direction:column;justify-content:center;align-items:center}.auth-panel>.messages{width:100%;max-width:430px}.auth-form{max-width:430px;width:100%}.auth-form h2{font-size:1.9rem;letter-spacing:-.04em;line-height:1.2;margin-bottom:12px}.auth-form>.muted{margin-bottom:32px}.auth-form .field{margin-bottom:20px}.auth-help{border-top:1px solid var(--line);padding-top:24px;margin-top:30px;font-size:.875rem}.auth-help strong{font-size:.8125rem}.auth-help p{color:var(--muted);margin:5px 0 0;font-size:.8125rem}.auth-bottom{max-width:430px;font-size:.75rem;color:var(--muted);margin-top:40px;text-align:center}.error-page{padding:60px 30px;max-width:700px;margin:auto}
@media(min-width:1500px){.main-content{padding-top:48px}.topbar{padding-right:52px}.auth-story{padding:60px 80px}}@media(max-width:1150px){.sidebar{width:218px;padding:28px 14px}.main-content{padding:28px 24px}.topbar{padding:16px 24px}.page-footer{padding:0 24px 20px}.panel-heading{align-items:flex-start;flex-direction:column}.team-banner{padding:24px;align-items:flex-start}.numbering-summary{padding-left:20px;max-width:230px}.two-column{grid-template-columns:1fr}.two-column .panel{margin-bottom:0}.next-modules{margin-top:28px}.auth-story{padding:40px 35px}}
@media(max-width:800px){.app-shell{display:block}.sidebar{height:auto;width:100%;position:relative;padding:18px 20px}.sidebar .brand{font-size:1.2rem}.sidebar .brand small{display:none}.sidebar .brand img{width:30px;height:30px}.sidebar>.workspace-label,.sidebar-bottom,.modules-label,.upcoming{display:none}.sidebar nav{display:flex;gap:6px;overflow:auto;margin-top:14px}.nav-link{white-space:nowrap;margin:0;padding:8px 12px;min-height:44px}.nav-link>span:first-child{font-size:1rem;width:auto}.topbar{min-height:72px;padding:14px 20px}.breadcrumb{font-size:.8125rem}.account-name{display:none}.account-popover{top:44px}.main-content{padding:28px 20px}.page-heading{align-items:flex-start;gap:18px}h1{font-size:1.8rem}.metrics{gap:12px}.metric{padding:18px}.metric strong{font-size:2rem}.metric small{display:none}.team-banner{flex-direction:column;gap:22px}.numbering-summary{border-left:0;border-top:1px solid #c7d8f5;padding:18px 0 0;max-width:none;width:100%}.panel-heading{padding:20px}.technician-grid{padding:20px}.technician-card{max-width:none}.module-grid{grid-template-columns:1fr}.module-grid article{display:grid;grid-template-columns:30px 1fr;column-gap:12px}.module-number{grid-row:1/4;margin:2px 0}.module-grid .badge{justify-self:start}.module-grid p{margin:0 0 12px}.page-footer{padding:0 20px 20px;flex-wrap:wrap}.auth-layout{display:flex;flex-direction:column}.auth-story{padding:24px;border-right:0;border-bottom:4px solid var(--blue);gap:0}.auth-story>div,.auth-foot{display:none}.auth-panel{padding:40px 24px;flex:1;justify-content:flex-start}.auth-form h2{font-size:1.7rem}.auth-bottom{margin-top:30px}.form-panel,.invite-panel{padding:24px}.company-state{align-items:flex-start;flex-direction:column}.search{max-width:none}.search input{font-size:1rem}.technician-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media(max-width:480px){.page-heading{flex-direction:column}.page-heading>.button,.page-heading>.actions{width:100%}.actions .button{flex:1}.metrics{gap:8px}.metric{padding:14px 10px;border-radius:10px}.metric>span{font-size:.8125rem;min-height:40px}.metric strong{font-size:1.8rem;margin-bottom:0}.main-content{padding:24px 16px}.topbar{padding:12px 16px}.breadcrumb{max-width:70%;overflow-wrap:anywhere}.breadcrumb span{margin:0 6px}.panel-heading{padding:18px}.copy-row{flex-direction:column}.invite-details>div{flex-direction:column;gap:0}.invite-details dd{text-align:left}.form-footer{flex-direction:column-reverse}.form-footer .button{width:100%}.technician-grid{padding:16px}.team-banner{padding:20px}.auth-panel{padding:32px 20px}.page-footer span:last-child{display:none}.technician-card{padding:18px}}
@media(prefers-reduced-motion:no-preference){.button,.nav-link{transition:background-color .15s ease,box-shadow .15s ease}}@media print{.sidebar,.topbar,.page-footer,.actions,.card-actions{display:none}.main-content{padding:0}.panel{break-inside:avoid}.app-shell,.workspace{display:block}}

.calendar-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:24px}.calendar-day{padding:14px;min-width:0}.calendar-day h2{font-size:1rem}.calendar-event{display:flex;flex-direction:column;gap:6px;background:#edf3ff;border-left:3px solid #155be5;border-radius:8px;padding:10px;margin:12px 0;color:#15345a;overflow-wrap:anywhere}.calendar-event.cancelled{opacity:.65;text-decoration:line-through}.notification-bell{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;margin-right:16px;flex-shrink:0}.notification-bell span{position:absolute;top:0;right:0;background:#b42318;color:#fff;border:2px solid #fff;border-radius:20px;font-size:11px;padding:1px 4px;min-width:18px;text-align:center}.notification-item{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:22px;margin-bottom:14px}.notification-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#155be5;margin-right:8px}@media(max-width:1100px){.calendar-week{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.calendar-week{grid-template-columns:1fr}.notification-item{align-items:flex-start;flex-direction:column}}

@media(min-width:1101px) and (max-width:1500px){.calendar-week{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Catalog transfer actions share a padded card and wrap on small screens. */
.parts-transfer{padding:28px}
.parts-transfer h2{margin-top:0}
.parts-transfer>p{color:var(--muted);margin-bottom:24px}
.parts-transfer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.parts-transfer-actions .button{margin:0;min-height:46px;justify-content:center}
.parts-transfer input[type=file]::file-selector-button{border:1px solid #d5dff0;border-radius:7px;background:#eef3fb;color:#183153;padding:8px 12px;margin-right:12px;font:inherit;cursor:pointer}
@media(max-width:600px){.parts-transfer{padding:20px}.parts-transfer-actions{align-items:stretch;flex-direction:column}.parts-transfer-actions .button{width:100%}.parts-transfer input[type=file]{max-width:100%;font-size:13px}}

/* 0.7.2: shared workspace forms and month planner. */
.workspace-panel{padding:28px;max-width:none;margin-bottom:24px}.workspace-panel h2{margin-top:0}.editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.editor-fields .field:has(textarea),.editor-fields .field:has(input[type=file]){grid-column:1/-1}.field textarea{min-height:120px;resize:vertical}.field input[type=checkbox]{width:20px;min-height:20px}.report-create{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.report-create .field{flex:1;min-width:200px;margin:0}.report-create .button{min-height:48px}.report-search.search{display:grid;grid-template-columns:minmax(200px,2fr) 110px minmax(180px,1fr) auto;max-width:none;gap:12px;margin:24px 0}.search{margin-bottom:20px}.report-search input,.report-search select{min-width:0;width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;background:white;color:var(--ink);font:inherit}.draft-row,.intervention-row{padding:16px;background:var(--bg);border-radius:10px;display:flex;flex-wrap:wrap;gap:8px 16px}.draft-row a,.intervention-row a{font-weight:650;color:var(--blue)}.draft-row small{color:var(--muted)}.pagination{padding:16px 24px;border-top:1px solid var(--line);margin:0;color:var(--muted);font-size:.875rem}.month-panel{overflow:hidden}.month-toolbar{padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.month-toolbar h2{margin:0;text-transform:capitalize;font-size:1.4rem}.month-toolbar .calendar-controls{margin:0;display:flex;flex-wrap:wrap;gap:8px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday{padding:12px;color:var(--muted);font-size:.8rem;font-weight:650;background:var(--bg);border-top:1px solid var(--line)}.month-day{min-height:135px;padding:8px;border-top:1px solid var(--line);border-right:1px solid var(--line);min-width:0}.month-day h3{font-size:.875rem;margin:0 0 8px;display:flex;align-items:center;gap:8px}.month-day h3 span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}.month-day h3 small{display:none}.month-day.today h3 span{background:var(--blue);color:white}.month-day.outside{background:#f6f8fc;color:#7a899e}.month-event{display:block;padding:7px 8px;background:#e8f1ff;border-left:3px solid #2870e9;border-radius:5px;margin-bottom:6px;color:#17335a;overflow-wrap:anywhere;font-size:.75rem}.month-event strong,.month-event span,.month-event small{display:block}.month-event small{color:#516680}.month-event.cancelled{background:#f0f1f4;border-color:#9da6b3;opacity:.7;text-decoration:line-through}.calendar-hint{padding:12px 24px;margin:0;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}.month-scroll{overflow-x:auto}.month-grid{min-width:700px}#appointment-form{scroll-margin-top:24px}
@media(max-width:800px){.editor-fields{grid-template-columns:1fr}.workspace-panel{padding:20px}.report-search.search{grid-template-columns:minmax(0,1fr) 90px}.report-search select{grid-column:1}.month-toolbar{padding:18px}.month-day{min-height:110px}.report-create{align-items:stretch;flex-direction:column}.report-create .field{min-width:0}.page-heading{flex-wrap:wrap}.parts-transfer-actions .button{white-space:normal}}

.month-count,.mobile-agenda{display:none}.month-day h3 a{color:inherit}.month-day h3 a:focus-visible{outline:2px solid var(--blue);border-radius:50%}@media(max-width:650px){.month-grid{min-width:0}.month-day{min-height:68px;padding:4px;text-align:center}.month-day h3{justify-content:center;margin:0}.month-day .month-event{display:none}.weekday{padding:8px 2px;text-align:center;font-size:.7rem}.month-count{display:block;font-size:.7rem;color:var(--blue)}.mobile-agenda{display:block;padding:20px;border-top:1px solid var(--line)}.mobile-agenda .month-event{font-size:.875rem;padding:12px}.mobile-agenda h3{margin-top:0}.month-toolbar .button{padding:10px 12px}.calendar-hint{padding:12px 20px}}

.editor-fields textarea{height:120px}.workspace-panel .field:has(input[type=checkbox]){display:flex;align-items:center;gap:12px}.workspace-panel .field:has(input[type=checkbox]) label{margin:0}.intervention-item{padding:18px 0;border-bottom:1px solid var(--line)}.intervention-item:last-child{border-bottom:0}.intervention-item .intervention-row{margin-top:0}.intervention-item>p{white-space:normal;overflow-wrap:anywhere;color:var(--muted)}

.client-combobox{position:relative}.client-combobox>input{padding-right:48px}.client-list-toggle{position:absolute;top:3px;right:3px;width:42px;height:42px;border:0;background:transparent;border-radius:8px;color:var(--blue);font-size:1.4rem}.client-suggestions{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:12;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 8px 25px #10233f20}.client-suggestions[hidden]{display:none}.client-suggestions button{display:block;width:100%;text-align:left;white-space:normal;padding:13px 15px;background:white;border:0;border-bottom:1px solid #edf1f7;color:var(--ink);font:inherit;min-height:48px}.client-suggestions button:hover,.client-suggestions button[aria-selected=true]{background:#edf4ff;color:var(--blue)}.client-suggestions p{padding:14px;font-size:.85rem;color:var(--muted)}

.template-thumb{width:100%;height:280px;object-fit:contain;background:#f4f6fa;border:1px solid #dce4ef;border-radius:10px}.document-logos{display:flex;flex-wrap:wrap;gap:20px}.document-logos img{width:180px;height:85px;object-fit:contain}.draft-row{flex-wrap:wrap;gap:12px}

.conflict-json{white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto}#conflict-error{color:#a52434}#conflict-dialog input[type=radio]{width:22px;height:22px;vertical-align:middle}#conflict-dialog label{display:block;padding:10px}

/* Coordinated navigation and document controls. */
.page-back,.stock-tabs,.section-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 24px}.page-heading .stock-tabs{margin:0}.page-back .button{border:1px solid #9bbaf4;color:#154ba4;font-weight:700;min-height:44px}.layout-previews{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.layout-previews .layout-selected{border:2px solid #155be5;background:#eef4ff;color:#1046ac}.selection-label{display:none}.layout-selected .selection-label{display:inline-block;font-size:12px;margin-left:8px}.workspace-panel h2{margin-bottom:12px}.workspace-panel details{padding:12px 0}.workspace-panel summary{cursor:pointer;font-weight:600}.workspace-panel .danger-zone{margin:16px 0;padding:16px;background:#fff7f7;border-radius:12px}.report-toolbar{justify-content:flex-start!important;margin:0 0 20px!important;padding:0!important}.report-lines td:last-child,.report-lines th:last-child{white-space:nowrap;min-width:110px}.report-lines td{vertical-align:top}.report-files{display:grid;gap:12px}.report-file{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;background:#f6f8fc;border-radius:12px;flex-wrap:wrap}.report-meta{display:flex;gap:24px;flex-wrap:wrap;padding:16px;background:#f6f8fc;border-radius:12px;margin-bottom:20px}.report-meta span{display:block}.report-meta small{color:#56708f} @media(max-width:600px){.layout-previews .button{width:100%}.report-toolbar .button{width:100%}.workspace-panel{padding:20px}.report-files .button{width:100%}}

.layout-current{font-size:13px;color:#345779;margin:8px 0 16px}.layout-previews .layout-selected{box-shadow:0 0 0 1px #155be5;border-color:#155be5}.logo-preview{margin:12px 0 20px;max-width:420px}.logo-preview-image{min-height:120px;display:flex;align-items:center;justify-content:center;padding:18px;border:1px solid #d9e3ef;border-radius:12px;background:#f6f8fc}.logo-preview img{max-width:100%;max-height:150px;object-fit:contain}.logo-preview [hidden]{display:none}.logo-preview figcaption{font-size:12px;color:#56708f;margin-top:8px}

.signature-preview{display:block;max-width:100%;width:360px;max-height:160px;object-fit:contain;background:white;border:1px solid var(--border,#d9e2f0);border-radius:12px;padding:14px;margin:16px 0}
.signature-preview[hidden],.notification-bell span[hidden]{display:none}
.notification-toast{position:fixed;z-index:1000;right:24px;top:24px;max-width:420px;display:flex;gap:16px;align-items:center;padding:18px 20px;border:1px solid #cbd9f0;border-radius:18px;background:#fff;color:#102544;box-shadow:0 8px 30px #10254430;animation:notice-in .25s ease-out}
.notification-toast a{color:inherit;text-decoration:none;font-weight:600}.notification-toast button{border:0;background:transparent;font-size:24px;cursor:pointer;color:inherit}
@keyframes notice-in{from{transform:translateY(-15px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:600px){.notification-toast{left:12px;right:12px;top:12px;max-width:none}}
@media(prefers-reduced-motion:reduce){.notification-toast{animation:none}}

/* Keep the company directory inside the viewport, including mobile zoom. */
.companies-panel{min-width:0;max-width:100%}.companies-panel .table-wrap{width:100%;max-width:100%;contain:inline-size}.companies-panel .panel-heading>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:800px){.companies-table thead{display:none}.companies-table,.companies-table tbody,.companies-table tr,.companies-table td{display:block;width:100%;min-width:0}.companies-table tr{padding:16px 20px;border-bottom:1px solid var(--line)}.companies-table tr:last-child{border-bottom:0}.companies-table td{padding:8px 0;border:0;white-space:normal;overflow-wrap:anywhere}.companies-table td[data-label]{display:flex;justify-content:space-between;gap:16px}.companies-table td[data-label]::before{content:attr(data-label);color:var(--muted)}.companies-table .company-cell{min-width:0}.companies-table .company-cell>div{min-width:0}.companies-table .row-link{display:inline-flex;padding:8px 0}.companies-panel .table-wrap{overflow:visible}.app-shell,.workspace{max-width:100%;min-width:0}}

.company-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.company-dashboard .panel{min-width:0}.dashboard-item{display:flex;flex-direction:column;gap:5px;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.dashboard-item small{color:var(--muted)}.company-dashboard .button{margin-top:16px}@media(max-width:1050px){.company-dashboard{grid-template-columns:1fr}}
/* One brand mark on authentication pages, also visible on narrow screens. */
.auth-story .brand-art{max-width:380px}
.auth-panel>.text-link{margin-top:24px;min-height:44px;display:flex;align-items:center}
@media(max-width:800px){.auth-story>div{display:block}.auth-story .brand-art{max-width:230px;margin:0;padding:8px;border-radius:12px}.auth-story>div>.eyebrow,.auth-story>div>h1,.auth-story>div>p{display:none}}

/* Catalogo macchinari: azioni e selettore compatibili con CSP. */
.machine-part-badge {display:inline-block;margin:2px 4px 2px 0;padding:2px 8px;background:var(--surface-alt,#f0f5ff);border-radius:6px;font-size:.85em;overflow-wrap:anywhere}
.machine-actions {white-space:nowrap;text-align:right}
.machine-delete {display:inline-block;margin-left:8px}
.machine-delete-button {color:var(--danger,#b42318);background:none;border:0;padding:6px;cursor:pointer;font:inherit}
.machine-table td {vertical-align:top;overflow-wrap:anywhere}
.machine-table td:nth-child(4), .machine-table td:nth-child(5) {max-width:320px}
.machine-parts-options {max-height:280px;overflow:auto;border:1px solid var(--border,#d6deeb);border-radius:10px;padding:8px}
.machine-part-option label {display:flex;align-items:center;gap:10px;padding:8px;cursor:pointer}
.machine-part-option input[type=checkbox] {width:20px;height:20px;flex:0 0 20px;margin:0}
.machine-part-option[hidden] {display:none}
.machine-parts-picker > label {display:block}
@media(max-width:700px) {
 .machine-table {min-width:0;width:100%}
 .machine-table thead {display:none}
 .machine-table,.machine-table tbody,.machine-table tr,.machine-table td {display:block;max-width:100%;width:100%;box-sizing:border-box}
 .machine-table tr {padding:12px 16px;border-bottom:1px solid var(--line)}
 .machine-table td {padding:7px 0;border:0}
 .machine-table td[data-label]::before {content:attr(data-label);display:block;font-size:.75rem;color:var(--muted);margin-bottom:3px}
 .machine-table td:nth-child(4),.machine-table td:nth-child(5) {max-width:100%}
 .machine-actions {white-space:normal;text-align:left;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
 .machine-actions .text-link {display:inline-flex;align-items:center;padding:10px 6px;min-height:44px}
 .machine-actions form.machine-delete {margin-left:0}
}

/* Customer machines: keep every action visible on small screens. */
@media (max-width: 700px) {
  .equipment-table, .equipment-table tbody { display:block; width:100%; min-width:0; }
  .equipment-table thead { display:none; }
  .equipment-table tr { display:block; padding:12px 16px; border-bottom:1px solid var(--border, #d8e1ee); }
  .equipment-table td { display:block; padding:6px 0; border:0; white-space:normal; overflow-wrap:anywhere; }
  .equipment-table td::before { content:attr(data-label); display:block; font-size:.75rem; opacity:.75; margin-bottom:3px; }
  .equipment-table .equipment-actions a { display:inline-flex; align-items:center; min-height:44px; padding:0 6px; }
}
/* Company report inbox */
.report-dashboard-item{display:grid;grid-template-columns:minmax(0,1fr) 10px;align-items:center;column-gap:10px}
.report-dashboard-item small{grid-column:1/-1}
.report-unread-dot{width:9px;height:9px;border-radius:50%;background:#d92d20;box-shadow:0 0 0 3px #fee4e2;justify-self:center}
.new-reports-toast{position:fixed;z-index:1000;right:24px;bottom:24px;width:min(390px,calc(100vw - 32px));display:none;gap:8px;padding:18px 46px 18px 18px;border:1px solid #d0d5dd;border-left:4px solid #d92d20;border-radius:16px;background:#fff;box-shadow:0 16px 44px #10182833;color:#182230}
.new-reports-toast.is-visible{display:grid;animation:inbox-toast-in .2s ease-out}
.new-reports-toast>span{color:#526579;font-size:.92rem}
.new-reports-toast>div{display:grid;gap:6px;margin-top:4px}
.new-reports-toast a{color:#155be5;text-decoration:none}
.new-reports-close{position:absolute;right:12px;top:8px;border:0;background:none;color:#526579;font-size:24px;cursor:pointer}
@keyframes inbox-toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.new-reports-toast{right:16px;bottom:16px}}

.intervention-list-card{display:grid;gap:14px}.intervention-master>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.intervention-master>summary::-webkit-details-marker{display:none}.intervention-master>summary::after{content:"⌄";color:var(--primary,#155be5);font-size:1.35rem;transition:transform .18s ease}.intervention-master[open]>summary::after{transform:rotate(180deg)}.intervention-master>summary h2{margin:0}.intervention-master[open]{display:grid;gap:14px}.intervention-group{border:1px solid var(--border,#d8e1ee);border-radius:14px;overflow:hidden;background:var(--surface,#fff)}.intervention-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;cursor:pointer;list-style:none;font-weight:700}.intervention-group>summary::-webkit-details-marker{display:none}.intervention-group>summary::after{content:"⌄";color:var(--primary,#155be5);font-size:1.25rem;transition:transform .18s ease}.intervention-group[open]>summary::after{transform:rotate(180deg)}.intervention-count{margin-left:auto;color:var(--muted,#526579);font-size:.85rem;font-weight:600}.intervention-group-content{padding:0 18px 14px}.intervention-item{padding:14px 0;border-top:1px solid var(--border,#e4e9f1)}.intervention-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.intervention-reporter{color:var(--muted,#526579);font-size:.9rem}.status-pill{padding:4px 9px;border-radius:999px;background:#fff4d6;color:#805b00;font-size:.78rem;font-weight:700}.status-pill.complete{background:#e7f6ec;color:#146c35}.intervention-photo-grid{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.intervention-photo{display:grid;gap:5px;width:140px;text-decoration:none}.intervention-photo img{width:140px;height:100px;object-fit:cover;border:1px solid var(--border,#d8e1ee);border-radius:9px}.intervention-photo span{font-size:.8rem}.photo-preview-dialog{position:fixed;inset:0;margin:auto;max-width:min(96vw,1100px);max-height:94vh;padding:16px;border:1px solid var(--border,#d8e1ee);border-radius:16px;background:var(--surface,#fff)}.photo-preview-dialog::backdrop{background:#101828bb}.photo-preview-dialog img{display:block;max-width:calc(96vw - 36px);max-height:calc(88vh - 40px);object-fit:contain;margin:12px auto 0}

.calendar-editor-fields .calendar-field-title,.calendar-editor-fields .calendar-field-intervention,.calendar-editor-fields .calendar-field-notes,.calendar-editor-fields .calendar-field-cancelled{grid-column:1/-1}.calendar-editor-fields .calendar-field-customer,.calendar-editor-fields .calendar-field-location{grid-column:2}.calendar-editor-fields .calendar-field-starts_at{grid-column:1}.calendar-editor-fields .calendar-field-technician{grid-column:2;grid-row:auto}

@media(max-width:800px){.calendar-editor-fields .calendar-field-technician,.calendar-editor-fields .calendar-field-location{grid-column:1}}

.calendar-editor-fields .calendar-field-customer{grid-column:1}.calendar-editor-fields .calendar-field-location{grid-column:2}@media(max-width:800px){.calendar-editor-fields .calendar-field-customer,.calendar-editor-fields .calendar-field-location{grid-column:1}}
