:root{--navy:#10253f;--ink:#182638;--muted:#718096;--line:#e3e9ef;--ice:#f5f8fa;--blue:#1f6feb;--teal:#169c85;--orange:#efa13f;--red:#dc5b56;--white:#fff;--shadow:0 4px 18px rgba(22,44,63,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f9fb;color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(31,111,235,.22);outline-offset:2px}.hidden{display:none!important}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:276px;background:#fff;border-right:1px solid var(--line);padding:27px 18px 18px;display:flex;flex-direction:column;z-index:20}.brand{border:0;background:none;display:flex;gap:12px;align-items:center;text-align:left;color:var(--navy);padding:0 8px 26px}.brand-mark{width:43px;height:43px;display:grid;place-items:center;color:#fff;border-radius:12px;background:linear-gradient(145deg,#152f4d,#1f7890);font-size:22px;box-shadow:0 7px 17px rgba(23,58,91,.2)}.brand b{font-weight:850}.brand>span:last-child{font-size:21px;letter-spacing:-.7px}.brand small{display:block;font-size:8px;color:#8391a2;margin-top:2px;letter-spacing:.15px}.side-nav{display:flex;flex-direction:column;gap:4px}.side-nav p{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#a1acb9;margin:8px 12px 7px}.side-nav p.second{margin-top:24px}.side-nav button{position:relative;border:0;background:transparent;color:#526174;border-radius:9px;text-align:left;min-height:43px;padding:0 12px;display:flex;gap:12px;align-items:center;font-size:13px;font-weight:650}.side-nav button>span{font-size:18px;width:19px;text-align:center}.side-nav button:hover{background:#f4f7fa}.side-nav button.active{color:#17395f;background:#eaf2f8}.side-nav button.active:before{content:"";position:absolute;left:-18px;height:27px;width:3px;background:#1e7694;border-radius:0 3px 3px 0}.side-nav em{margin-left:auto;font-style:normal;font-size:10px;color:#fff;background:#ea5a55;min-width:20px;height:20px;display:grid;place-items:center;border-radius:10px}.pro-card{margin-top:auto;border:1px solid #d7e3eb;background:linear-gradient(145deg,#f5fafc,#edf5f8);border-radius:12px;padding:15px;display:grid;grid-template-columns:30px 1fr;gap:9px}.pro-card>span{color:#257a96;font-size:22px}.pro-card strong{font-size:11px;color:#183c59}.pro-card p{font-size:9px;line-height:1.5;color:#6f8291;margin:4px 0 10px}.pro-card button{grid-column:1/-1;border:1px solid #bfcfda;background:#fff;color:#25516e;font-size:10px;font-weight:750;padding:8px;border-radius:7px}.profile{margin-top:14px;padding:11px 7px 0;border:0;border-top:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:10px;text-align:left}.profile>span:first-child{width:34px;height:34px;display:grid;place-items:center;background:#dce9ef;color:#24556f;font-size:11px;font-weight:800;border-radius:50%}.profile b,.profile small{display:block}.profile b{font-size:11px}.profile small{font-size:9px;color:#8895a4;margin-top:2px}.profile i{margin-left:auto;color:#8995a3;font-style:normal}.main{margin-left:276px;width:calc(100% - 276px);min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 42px;position:sticky;top:0;z-index:10}.top-actions{display:flex;gap:10px;align-items:center}.icon-button{width:38px;height:38px;border:0;background:#f5f7f9;border-radius:9px;color:#576678;font-size:19px}.notice{position:relative}.notice:after{content:"";position:absolute;width:7px;height:7px;background:#ee665d;border:2px solid #fff;border-radius:50%;top:7px;right:7px}.mobile-brand{display:none}.primary{border:0;color:#fff;background:linear-gradient(135deg,#173858,#1c7190);border-radius:9px;padding:12px 18px;font-size:12px;font-weight:750;box-shadow:0 5px 14px rgba(23,61,94,.16)}.primary:hover{filter:brightness(1.07)}.primary.small{height:38px;padding:0 16px;display:flex;align-items:center;gap:5px}.primary span{font-size:17px}.outline{border:1px solid #ccd6df;background:#fff;color:#38566e;border-radius:8px;padding:10px 14px;font-size:10px;font-weight:750}.danger-button{border:1px solid #efcbc8;background:#fff6f5;color:#b64641;border-radius:8px;padding:10px 14px;font-size:10px;font-weight:750}.text-button{border:0;background:none;color:#247293;font-size:10px;font-weight:750}.content{max-width:1260px;margin:0 auto;padding:39px 44px 80px}.welcome,.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:27px}.eyebrow{color:#758496;font-size:9px;font-weight:800;letter-spacing:1.3px}.welcome h1,.page-head h1{color:#14283e;margin:7px 0 6px;font-size:28px;letter-spacing:-.7px}.welcome p,.page-head p{color:#7a8796;font-size:12px;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:19px}.stat{min-height:114px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px;display:flex;align-items:flex-start;gap:15px;box-shadow:var(--shadow)}.stat-icon{width:39px;height:39px;border-radius:9px;display:grid;place-items:center;font-size:17px;flex:0 0 auto}.navy{color:#2d5877;background:#e5f0f5}.teal{color:#148776;background:#e3f5f1}.blue{color:#3f6fc6;background:#e9effb}.gold{color:#b77b24;background:#fbf0dd}.coral{color:#b95d58;background:#fae8e6}.stat strong{font-size:24px;line-height:1;color:#14293f}.stat p{font-size:10px;font-weight:700;margin:7px 0 6px}.stat small{font-size:9px;color:#8996a4}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(275px,.85fr);gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px 15px}.panel-head h2{font-size:14px;margin:0 0 5px}.panel-head p{font-size:9px;color:#8d99a7;margin:0}.job-list{padding:0 22px 8px}.job{display:grid;grid-template-columns:60px 1fr 30px;gap:11px;min-height:91px}.timeline{position:relative;padding-top:5px}.timeline b{font-size:11px}.timeline span{position:absolute;width:7px;height:7px;background:#277693;border:2px solid #d9ebf1;border-radius:50%;left:46px;top:8px}.timeline:after{content:"";position:absolute;left:49px;top:18px;bottom:0;width:1px;background:#dce4ea}.job:last-child .timeline:after{display:none}.job-main{border-bottom:1px solid #eef1f4;padding:3px 0 15px}.job:last-child .job-main{border-bottom:0}.job-title{display:flex;align-items:center;gap:8px}.job-title strong{font-size:11px}.status{font-style:normal;font-size:8px;font-weight:800;padding:4px 7px;border-radius:9px}.status.urgent{color:#c84c49;background:#fdeae9}.status.planned{color:#4777b8;background:#eaf1fb}.status.done{color:#17826f;background:#e3f5f1}.job-main p{font-size:9px;color:#8794a3;margin:7px 0}.job-meta{display:flex;gap:6px;color:#5a6b7f;font-size:9px}.job>button{border:0;background:transparent;color:#778595;font-size:22px}.quick-panel{padding-bottom:14px}.quick{width:calc(100% - 32px);margin:0 16px 9px;border:1px solid #e6ebef;background:#fff;border-radius:9px;display:grid;grid-template-columns:36px 1fr 15px;align-items:center;gap:10px;padding:12px;text-align:left}.quick:hover{border-color:#b9d3de}.quick>span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:#2f708c;background:#e7f1f5;font-size:17px}.quick strong,.quick small{display:block}.quick strong{font-size:10px;margin-bottom:4px}.quick small{color:#8c98a5;font-size:8px}.quick>b{color:#82909e}.quick.diagnostic{background:#183a59;border-color:#183a59;color:#fff}.quick.diagnostic>span{color:#fff;background:#2a526f}.quick.diagnostic small{color:#b8c7d3}.quick.diagnostic>b{color:#fff}.insight{margin-top:18px;padding:15px 18px;background:#eef6f8;border:1px solid #d7e8ed;border-radius:10px;display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:11px}.insight>span{color:#267794;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#dceef2}.insight b{color:#214961;font-size:10px}.insight p{color:#6c8291;font-size:9px;margin:4px 0 0;line-height:1.45}.insight button{border:0;color:#286986;background:transparent;font-size:9px;font-weight:800}.page-section{max-width:1050px;margin:0 auto}.toolbar{display:flex;gap:9px;align-items:center;margin-bottom:15px;flex-wrap:wrap}.filter-row{display:flex;gap:7px;flex-wrap:wrap}.filter-row button{border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:8px;color:#657487;font-size:10px}.filter-row button.active{color:#fff;background:#183a59;border-color:#183a59}.search{height:45px;display:flex;align-items:center;gap:10px;padding:0 15px;background:#fff;border:1px solid var(--line);border-radius:9px;min-width:260px;flex:1}.search input{border:0;outline:0;width:100%;font-size:11px;color:#33475b}.intervention-list{padding:5px 22px}.intervention-card{min-height:96px;display:grid;grid-template-columns:58px 1fr auto auto;gap:17px;align-items:center;border-bottom:1px solid #edf1f4}.intervention-card:last-child{border:0}.date-box{text-align:center;background:#f1f6f9;border-radius:8px;padding:8px;color:#214c67}.date-box b,.date-box span{display:block}.date-box b{font-size:20px}.date-box span{font-size:7px;letter-spacing:1px}.intervention-info>span{color:#347291;font-size:9px;font-weight:800}.intervention-info h3{font-size:13px;margin:5px 0}.intervention-info p,.intervention-info small{color:#8492a1;font-size:9px;margin:0 0 5px}.empty{padding:45px 20px;text-align:center;color:#81909f}.empty>span{font-size:35px;display:block;margin-bottom:12px}.empty h3{color:#33495d;margin:0 0 7px}.empty p{font-size:11px}.client-grid,.equipment-grid,.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.client-card,.equipment-card,.report-card{min-height:105px;display:grid;grid-template-columns:45px 1fr 20px;align-items:center;gap:13px;padding:18px;border:1px solid var(--line);background:#fff;border-radius:11px;text-align:left;box-shadow:0 3px 12px rgba(25,50,70,.03)}.client-card:hover,.equipment-card:hover,.report-card:hover{border-color:#bcd2dc;transform:translateY(-1px)}.avatar{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;font-size:11px;font-weight:800}.client-card h3,.equipment-card h3,.report-card h3{margin:0 0 6px;font-size:12px}.client-card p,.client-card small,.equipment-card p,.equipment-card small,.report-card p,.report-card small{margin:0;color:#8492a0;font-size:9px}.client-card small,.equipment-card small,.report-card small{display:block;margin-top:7px}.client-card>b,.equipment-card>b,.report-card>b{color:#83909e;font-size:20px}.tabs{display:flex;gap:5px;margin-bottom:15px;border-bottom:1px solid var(--line)}.tabs button{border:0;background:transparent;color:#7b8998;padding:10px 13px;font-size:10px;font-weight:700;border-bottom:2px solid transparent}.tabs button.active{color:#215c79;border-color:#215c79}.form-page{max-width:850px}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 18px;position:relative}.steps:before{content:"";height:1px;background:#dbe3e9;position:absolute;top:14px;left:12%;right:12%}.steps button{z-index:1;border:0;background:transparent;color:#9ba6b2;font-size:9px;font-weight:700;display:flex;flex-direction:column;gap:6px;align-items:center}.steps button span{width:29px;height:29px;border-radius:50%;border:1px solid #d4dde5;background:#f7f9fb;display:grid;place-items:center}.steps button.active{color:#245c79}.steps button.active span{color:#fff;background:#1e6685;border-color:#1e6685}.form-card{padding:27px}.form-card h2{margin:0 0 7px;font-size:18px}.form-card>p{margin:0 0 24px;color:#7f8c9a;font-size:11px}.field{display:block;margin:15px 0}.field>span{display:block;font-size:9px;font-weight:800;margin-bottom:7px;color:#536477}.field input,.field select,.field textarea{width:100%;border:1px solid #d7e0e7;background:#fff;border-radius:8px;padding:12px;outline:0;color:#34475a;font-size:11px}.field textarea{min-height:105px;resize:vertical;line-height:1.6}.two-fields,.three-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.three-fields{grid-template-columns:repeat(3,1fr)}.form-actions{margin-top:25px;display:flex;justify-content:space-between;gap:10px}.scan-zone,.signature{width:100%;min-height:120px;border:1px dashed #a9c5d1;background:#f1f8fa;color:#285f79;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.scan-zone>span,.signature>span{font-size:25px}.scan-zone b,.signature b{font-size:11px}.scan-zone small,.signature small{font-size:9px;color:#7b909d}.image-preview{max-width:240px;max-height:140px;border-radius:8px;margin-top:10px;object-fit:cover}.suggestions{display:flex;flex-wrap:wrap;gap:7px}.suggestions button{border:1px solid #d9e2e8;background:#fff;color:#53677a;border-radius:16px;padding:7px 11px;font-size:9px}.suggestions button:hover{background:#edf5f8}.ai-result{margin-top:18px;border:1px solid #d5e8ed;background:#eff7f8;border-radius:9px;padding:14px;display:flex;gap:10px}.ai-result>span{color:#257590}.ai-result b{font-size:10px;color:#24546c}.ai-result p{font-size:9px;color:#6f8492;margin:5px 0 0;line-height:1.5}.report-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e1e7ec;border-radius:9px;margin-bottom:16px}.report-summary div{padding:14px;border-bottom:1px solid #e7ecf0}.report-summary div:nth-child(odd){border-right:1px solid #e7ecf0}.report-summary div:nth-child(n+3){border-bottom:0}.report-summary span,.report-summary b{display:block}.report-summary span{font-size:8px;color:#95a0ac;letter-spacing:1px;margin-bottom:5px}.report-summary b{font-size:10px}.signature{min-height:95px}.signature-pad{width:100%;height:150px;background:#fff;border:1px solid #d7e0e7;border-radius:8px;touch-action:none}.settings-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px}.settings-card{padding:22px}.settings-card h2{font-size:14px;margin:0 0 6px}.settings-card>p{font-size:10px;color:#7c8a99;margin:0 0 18px;line-height:1.6}.button-stack{display:flex;gap:8px;flex-wrap:wrap}.code-table{width:100%;border-collapse:collapse}.code-table th,.code-table td{text-align:left;padding:12px;border-bottom:1px solid #e8edf1;font-size:10px}.code-table th{font-size:8px;color:#8995a2;letter-spacing:1px}.code-table td:first-child{font-weight:800;color:#275b76}.badge{display:inline-block;padding:4px 7px;border-radius:9px;background:#edf4f7;color:#33647b;font-size:8px;font-weight:800}.modal-backdrop{position:fixed;inset:0;background:rgba(10,24,36,.52);z-index:80;display:grid;place-items:center;padding:18px}.modal{width:min(580px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 20px 70px rgba(4,17,28,.3);padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.modal-head h2{font-size:18px;margin:0}.modal-head p{font-size:10px;color:#7d8b99;margin:5px 0 0}.modal-head button{border:0;background:#f1f4f6;width:31px;height:31px;border-radius:8px;color:#536373}.toast{display:none;position:fixed;right:24px;bottom:24px;z-index:100;background:#173a58;color:#fff;border-radius:9px;padding:13px 17px;font-size:11px;box-shadow:0 10px 30px rgba(19,44,66,.3)}.toast.show{display:block;animation:toast-in .25s ease-out}@keyframes toast-in{from{transform:translateY(10px);opacity:0}}.mobile-nav{display:none}.print-only{display:none}
@media(max-width:1050px){.stats-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.quick-panel{display:grid;grid-template-columns:repeat(3,1fr);padding:15px;gap:10px}.quick-panel .panel-head{grid-column:1/-1;padding:3px 5px 7px}.quick{width:100%;margin:0;grid-template-columns:36px 1fr}.quick>b{display:none}.settings-grid{grid-template-columns:1fr}}
@media(max-width:760px){body{background:#f6f8fa}.sidebar{display:none}.main{margin-left:0;width:100%;padding-bottom:72px}.topbar{height:62px;padding:0 17px;justify-content:space-between}.mobile-brand{display:flex;align-items:center;gap:8px;border:0;background:none;color:#173a58;font-size:16px;font-weight:800}.mobile-brand span{width:30px;height:30px;display:grid;place-items:center;color:#fff;background:#1b617e;border-radius:8px}.top-actions .icon-button:first-child{display:none}.primary.small{width:38px;padding:0;justify-content:center}.primary.small b{display:none}.content{padding:25px 16px 30px}.welcome,.page-head{align-items:flex-start;margin-bottom:22px}.welcome>.primary,.page-head>.primary{display:none}.welcome h1,.page-head h1{font-size:24px}.stats-grid{display:flex;overflow-x:auto;gap:10px;margin-left:-16px;margin-right:-16px;padding:0 16px 5px;scrollbar-width:none}.stat{min-width:220px}.quick-panel{margin-top:14px;display:block;padding:10px 0}.quick-panel .panel-head{padding:15px 16px}.quick{width:calc(100% - 24px);margin:0 12px 8px}.insight{grid-template-columns:35px 1fr}.insight button{grid-column:2;text-align:left;padding:0}.client-grid,.equipment-grid,.report-grid{grid-template-columns:1fr}.intervention-list{padding:0 14px}.intervention-card{grid-template-columns:48px 1fr auto;gap:10px;padding:10px 0}.intervention-card>.outline{display:none}.two-fields,.three-fields{grid-template-columns:1fr}.form-card{padding:20px 16px}.form-actions .primary,.form-actions .outline{flex:1}.steps button{font-size:8px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;inset:auto 0 0;height:66px;background:#fff;border-top:1px solid #dfe6eb;z-index:30;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{height:100%;border:0;background:#fff;color:#8794a2;font-size:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}.mobile-nav button span{font-size:18px}.mobile-nav button.active{color:#1e6685;font-weight:800}.mobile-nav .mobile-add{width:47px;height:47px;justify-self:center;border-radius:50%;margin-top:-25px;color:#fff;background:#183c5b;font-size:25px;box-shadow:0 7px 18px rgba(23,58,88,.25)}.toast{bottom:82px;right:16px;left:16px;text-align:center}.report-summary{grid-template-columns:1fr}.report-summary div:nth-child(odd){border-right:0}.report-summary div:nth-child(n+3){border-bottom:1px solid #e7ecf0}.report-summary div:last-child{border-bottom:0}.search{min-width:100%}}
@media print{.sidebar,.topbar,.mobile-nav,.no-print{display:none!important}.main{margin:0;width:100%}.content{padding:0}.print-only{display:block}.panel{box-shadow:none;border:1px solid #bbb}.page-head{margin-bottom:20px}body{background:#fff}}
