@charset "UTF-8";
:root{--navy:#071b2f;--navy-deep:#071b2f;--teal:#0d63e8;--teal-soft:#eaf1fe;--ink:#1c3349;--muted:#65788a;--line:#dfe7ec;--bg:#f3f6f8;--white:#fff;--red:#ba364b;--amber:#a76912;--radius:14px;--shadow:0 4px 20px #18394c05}
*{box-sizing:border-box}body{margin:0;font:14px/1.55 "Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:3px solid #74a7f5;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:26px;line-height:1.25;letter-spacing:-.7px}h2{font-size:20px;line-height:1.35;letter-spacing:-.35px;margin-bottom:14px}h3{font-size:16px;line-height:1.4;margin-bottom:14px}p{margin-bottom:14px}img{max-width:100%}.hint{font-size:13px;color:var(--muted);line-height:1.65}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:2px;color:var(--teal);margin:16px 0}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy-deep);color:#d0dce6;padding:26px 18px 20px;position:sticky;top:0;height:100vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#365167 transparent}.brand{display:flex;align-items:center;gap:12px}.brand-image{padding:1px 12px 23px;margin-bottom:12px;border-bottom:1px solid #ffffff14}.brand-image img{width:164px;height:57px;object-fit:contain}.nav{display:flex;flex-direction:column;gap:4px}.nav-title{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#7c9aaf;margin:22px 13px 8px}.nav a{display:flex;align-items:center;gap:12px;color:#bbcddc;padding:11px 14px;border-radius:8px;font-weight:500;font-size:13px;transition:background .15s,color .15s}.nav a:before{content:"";width:13px;height:13px;border:1.4px solid currentColor;border-radius:4px;opacity:.65;flex-shrink:0}.nav a:hover{color:#fff;background:#ffffff0a}.nav a.active{color:white;background:#0d63e8;box-shadow:inset 3px 0 #73a6ff}.nav a.active:before{opacity:1}.main{min-width:0;padding:30px 34px 16px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}.topbar h1{margin:0 0 5px}.topbar p{color:var(--muted);font-size:12px;margin:0}.top-actions,.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.top-actions{justify-content:flex-end}.user-pill{display:flex;gap:14px;align-items:center;padding:8px 0 8px 14px;border-left:1px solid var(--line);font-size:12px}.user-pill button{font-size:12px;color:var(--muted);padding:5px;border:0;background:transparent;cursor:pointer}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:10px 15px;font-weight:600;font-size:12px;line-height:1.4;white-space:nowrap;cursor:pointer;background:#e9eff3;color:var(--ink);min-height:38px;transition:filter .15s,transform .15s;text-decoration:none}.btn:hover{filter:brightness(.97)}.btn:active{transform:translateY(1px)}.btn.primary,.btn.success{background:var(--teal);color:white}.btn.ghost{background:white;border-color:var(--line);color:var(--ink)}.btn.danger{background:#fff1f3;color:var(--red);border-color:#f1d7dd}.btn.warning{background:#fff3dc;color:var(--amber);border-color:#f2dfb8}.btn.full,.full{width:100%}.inline-form{display:inline-flex;margin:0;vertical-align:middle}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px;box-shadow:var(--shadow);min-width:0}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid>.card{margin-bottom:0}.grid{margin-bottom:20px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.toolbar h2,.toolbar h3{margin-bottom:5px}.toolbar .hint{margin:0}.table-wrap{overflow-x:auto;width:100%;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;font-size:12px}th{background:#f8fafb;font-size:10px;letter-spacing:.7px;text-transform:uppercase;font-weight:700;color:#748595;text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:16px;border-bottom:1px solid #edf1f4;vertical-align:middle}tr:last-child td{border:0}tbody tr:hover{background:#fafcfc}td.actions{min-width:200px;display:table-cell}td.actions .btn{margin:2px 4px 2px 0;padding:8px 11px;min-height:34px}td .hint{font-size:11px;display:inline-block;line-height:1.4;margin-top:4px}.row-title{font-weight:650;color:var(--ink)}.badge,.muted-pill,.mini-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 9px;border-radius:5px;font-size:10px;font-weight:650;white-space:nowrap;background:#edf2f5;color:#5a6f80}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:6px}.badge-green,.badge-navy{background:#e5f4ee;color:#23765b}.badge-blue,.badge-purple,.badge-darkblue{background:#eaf1fa;color:#426ba1}.badge-orange,.badge-yellow{background:#fff2dc;color:#a76b16}.badge-red{background:#fdebf0;color:#b4435c}.badge-black,.badge-gray,.badge-brown{background:#edf1f4;color:#687989}.mini-badge{background:#bce8dd;color:#165348;font-size:10px;margin-left:auto;padding:2px 6px}.control-hero{display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:white;position:relative;overflow:hidden;min-height:160px;padding:27px 30px;border:0}.control-hero:after{content:"";position:absolute;width:220px;height:220px;border:45px solid #ffffff05;border-radius:50%;right:120px;top:-115px;pointer-events:none}.control-hero h2{font-size:27px;margin:8px 0 12px;letter-spacing:-.7px}.control-hero .hint{color:#a9c1d3;max-width:620px;margin-bottom:0;font-size:12px}.control-hero .muted-pill{background:#ffffff12;color:#8db8ff;font-size:9px;letter-spacing:1px}.control-version{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0;padding-left:20px;z-index:1}.control-version b{font-size:14px;font-weight:600;color:#dbe9f1}.control-version span{font-size:10px;color:#89a9be}.control-stats{gap:16px}.stat{position:relative;display:flex;flex-direction:column;padding:20px 22px;gap:12px;min-height:113px}.stat span{font-size:11px;color:var(--muted);font-weight:600}.stat b{font-size:30px;line-height:1.15;font-weight:650;letter-spacing:-1px}.stat:after{content:"";position:absolute;top:22px;right:20px;width:9px;height:9px;border-radius:3px;background:var(--teal-soft);border:1px solid #c8d9fb}.stat:nth-child(3):after{background:#fff1d9;border-color:#f0d6a4}.urgent-card{border-left:3px solid #c48d32}.empty-state{padding:30px;text-align:center;color:var(--muted)}.empty-state strong{display:block;font-size:14px;color:var(--ink);margin-bottom:5px}.empty-state .btn{margin-top:15px}.app-footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.15px;color:#8495a4;border-top:1px solid var(--line);padding:20px 2px;margin-top:28px}.app-footer span:first-child{font-weight:650}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid.small{gap:12px}label{display:block;font-weight:600;font-size:12px;margin-bottom:16px;color:#465e72}input,select,textarea{display:block;width:100%;border:1px solid #d4e0e7;border-radius:8px;min-height:43px;padding:11px 12px;color:var(--ink);background:white;margin-top:7px;outline:none;font-weight:400}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d63e810}input::placeholder,textarea::placeholder{color:#98a7b2}input[type=checkbox],input[type=radio]{display:inline-block;width:17px;min-height:17px;height:17px;vertical-align:middle;margin:0 8px 0 0;accent-color:var(--teal)}input[type=file]{padding:9px;font-size:12px}textarea{min-height:110px;resize:vertical}.inline-check{display:flex;align-items:center;font-weight:400;gap:5px;min-height:30px}.form-card{max-width:1100px}.search-form{display:flex;gap:8px;margin-bottom:20px}.search-form input{margin:0}.required-star{color:var(--red)}.alert{border-radius:8px;padding:13px 16px;font-size:12px;border:1px solid var(--line);margin-bottom:18px}.alert-danger{background:#fff0f3;border-color:#f2d4dc;color:#a63750}.alert-success{background:#eaf7f2;border-color:#cce8dc;color:#2b7457}.alert-warning{background:#fff6e5;border-color:#f0dfb8;color:#976520}.alert-info{background:#edf5fa;border-color:#d7e7f0;color:#4a718c}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 15% 15%,#e0eeed 0,transparent 50%),#edf2f5;padding:34px 20px}.login-card{width:460px;max-width:100%;border:1px solid #d9e3e8;background:white;border-radius:18px;padding:40px;box-shadow:0 20px 60px #071b2f0a}.login-card h1{margin-top:24px}.login-card .brand img{width:180px}.login-card label{margin-bottom:18px}.login-card .login-meta{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.install-card{max-width:900px;width:100%;background:white;border:1px solid var(--line);border-radius:18px;padding:40px}.install-card h2{margin-top:28px;font-size:17px;border-top:1px solid var(--line);padding-top:22px}.setup-logo{width:190px;display:block}.setup-footer{font-size:11px;color:var(--muted);text-align:center;margin:28px 0 0}.public-card{max-width:780px;background:white;border:1px solid var(--line);padding:32px;border-radius:16px}.brand-preview{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.brand-preview img{width:180px}.brand-preview span{font-size:11px;color:var(--muted)}.brand-preview.big{padding:24px;background:#f6f9fa;border-radius:10px}.settings-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}.settings-menu a{display:block;padding:12px;border-radius:7px;color:var(--muted);font-weight:600;font-size:12px;margin-bottom:5px}.settings-menu a.active{background:var(--teal-soft);color:var(--teal)}.settings-menu h3{padding-left:12px}.settings-card h2{margin-top:0}.tab-links,.report-tabs,.tech-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.tab-links a,.report-tabs a,.tech-tabs a{background:#e8eef3;color:var(--ink);border-radius:8px;padding:10px 15px;font-size:12px;font-weight:600}.tab-links a.active,.report-tabs a.active,.tech-tabs a.active{background:var(--teal);color:white}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.kv-grid div{font-size:13px}.kv-grid b{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px}.wide{grid-column:1/-1}.mini-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.compact-form{padding-top:20px}.progress-steps{display:flex;gap:8px;margin:20px 0}.progress-steps span{flex:1;border-top:3px solid #e6edf1;padding-top:9px;color:#8c9dac;font-size:10px}.progress-steps span.done{border-color:var(--teal);color:var(--teal);font-weight:650}.reporter-strip{padding:12px;background:#f2f8fa;border-radius:8px;margin:12px 0;font-size:12px}.compact-metrics p{font-size:12px;padding:10px 0}.compact-metrics b{font-size:10px;color:var(--muted);font-weight:600}.timeline .item{border-left:2px solid #cee7df;padding:0 0 15px 15px;font-size:12px}.timeline .item p{margin:6px 0}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.media-card{padding:8px;border:1px solid var(--line);border-radius:8px;font-size:11px;overflow-wrap:anywhere}.media-card img{width:100%;max-height:150px;object-fit:cover}.tech-home-head{display:flex;align-items:center;gap:20px}.tech-home-head img{width:135px}.tech-home-head>div{flex:1}.tech-home-head span{color:var(--muted);font-size:11px}.tech-home-head h2{margin:2px 0}.tech-home-head>b{font-size:30px;color:var(--teal)}.tech-mobile-home{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:20px}.tech-home-tabs{display:flex;gap:5px;margin-top:22px;border-top:1px solid var(--line);padding-top:15px}.tech-home-tabs a{flex:1;text-align:center;padding:10px;border-radius:7px;background:#f4f7f9;font-size:12px;color:var(--muted)}.tech-home-tabs a.active{background:var(--teal-soft);color:var(--teal)}.tech-home-tabs strong{margin-left:7px}.tech-job-card{background:white;border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:16px}.tech-card-top,.tech-job-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.tech-job-card .actions{margin-top:20px}.tech-empty{padding:50px 20px;text-align:center;color:var(--muted)}.tech-detail-hero{padding:24px;border:1px solid var(--line);background:white;border-radius:12px;margin-bottom:20px}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.permission-module{padding:16px;background:#f6f9fa;border-radius:8px}.permissions{display:grid;gap:8px}.skip-link{position:absolute;left:250px;top:-60px;background:white;color:var(--ink);padding:12px;z-index:99}.skip-link:focus{top:10px}.print-only{display:none}
@media(min-width:1600px){.main{padding:36px 48px 18px}.card{padding:28px}.control-hero{padding:32px}.control-stats .card{padding:23px}}
@media(max-width:1200px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.main{padding:24px}.sidebar{padding:22px 12px}.topbar{align-items:flex-start}.top-actions{max-width:440px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-shell{grid-template-columns:185px minmax(0,1fr)}.stat{padding:18px}.topbar h1{font-size:24px}}
@media(max-width:900px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.detail-grid{grid-template-columns:1fr}.ticket-summary-card[style]{grid-column:auto!important}.topbar{flex-wrap:wrap}.top-actions{max-width:100%;justify-content:flex-start}.settings-shell{grid-template-columns:1fr}.settings-menu{display:flex;flex-wrap:wrap;gap:5px;padding:14px}.settings-menu h3{display:none}.settings-menu a{margin:0;padding:8px 10px}.control-hero h2{font-size:23px}.control-version{display:none}}
@media(max-width:700px){.app-shell{display:block}.sidebar{position:fixed;left:-260px;width:240px;z-index:30;transition:left .2s;box-shadow:10px 0 35px #0002}.sidebar.open{left:0}.main{padding:20px 16px 12px}.menu-toggle{display:inline-flex;float:left;margin-right:12px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);padding:5px 9px;font-size:18px;cursor:pointer}.topbar{gap:18px;margin-bottom:22px}.topbar h1{font-size:23px}.topbar p{margin-left:47px}.top-actions{gap:7px;width:100%}.top-actions>.btn{font-size:11px;padding:8px 12px}.user-pill{margin-left:auto;padding-left:8px;gap:8px}.user-pill>span{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card{padding:20px 16px;margin-bottom:16px;border-radius:12px}.control-hero{padding:24px 20px;min-height:175px}.control-hero h2{font-size:24px}.control-hero .hint{font-size:12px}.control-stats{gap:10px}.stat{padding:16px;min-height:104px;gap:12px}.stat span{font-size:10px}.stat b{font-size:28px}.stat:after{top:17px;right:14px;width:7px;height:7px}.grid{gap:16px;margin-bottom:16px}.grid-2,.form-grid{grid-template-columns:1fr}.toolbar{gap:12px;margin-bottom:16px}.toolbar h2{font-size:18px}.toolbar .actions{width:100%}.actions .btn{font-size:11px}.form-grid{gap:0}.form-grid>label{grid-column:auto!important}th{padding:12px}td{padding:14px 12px}.login-card{padding:28px}.login-body{align-items:flex-start;padding:28px 16px}.install-card{padding:26px 20px}.login-card h1{font-size:26px}.app-footer{display:block;text-align:center}.app-footer span{display:block;margin-bottom:6px}.public-card{padding:24px 18px}.permission-grid{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-steps span{font-size:9px}.kv-grid{grid-template-columns:1fr}.tech-home-head img{width:100px}.grid-4.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-job-card{padding:18px}.brand-preview{align-items:flex-start;flex-direction:column}.search-form{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white}.sidebar,.topbar,.app-footer,.btn,.skip-link{display:none!important}.app-shell{display:block}.main{padding:0}.card{box-shadow:none;break-inside:avoid}.table-wrap{overflow:visible}th,td{padding:7px}.print-only{display:block}}

/* Technician work screens */
.ticket-card-head,.service-hero-card{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.ticket-no-big{font-size:11px;color:var(--teal);letter-spacing:.5px}.ticket-card-head h3{margin:6px 0}.tech-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 0;border-top:1px solid var(--line);margin-top:15px}.tech-time-grid span{display:flex;flex-direction:column;gap:4px}.tech-time-grid small{color:var(--muted);font-size:10px}.tech-time-grid b{font-size:11px;font-weight:600}.mobile-step-line{display:flex;gap:8px;margin:10px 0 18px}.mobile-step-line span{flex:1;padding:6px;border-top:3px solid var(--line);font-size:10px;color:var(--muted)}.mobile-step-line .done{border-color:var(--teal);color:var(--teal)}.tech-card-actions .full{flex:1;min-width:180px}.tech-wizard-progress{display:flex;gap:18px}.wiz-step{display:flex;align-items:center;gap:10px;flex:1;font-size:11px;color:var(--muted)}.wiz-step b{border-radius:50%;background:#edf2f5;width:30px;height:30px;display:grid;place-items:center;flex-shrink:0}.wiz-step.done b,.wiz-step.active b{background:var(--teal);color:white}.wiz-step.active{color:var(--teal);font-weight:600}.service-hero-main{flex:1}.service-hero-main h1{font-size:22px;margin:12px 0}.wizard-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.wizard-detail-grid p{font-size:12px}.wizard-detail-grid b{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.wizard-detail-grid span{display:block}.wizard-description{border-top:1px solid var(--line);padding-top:15px;font-size:13px}.wizard-description>b{font-size:11px;color:var(--muted)}.form-section-mini{border-top:1px solid var(--line);padding-top:24px;margin-top:22px}.counter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.counter-input-card{background:#f6f9fc;border:1px solid var(--line);border-radius:10px;padding:15px}.counter-input-card small,.counter-input-card span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin:5px 0}.big-touch{min-height:47px}.service-summary-card{font-size:13px}@media(max-width:700px){.service-hero-card{flex-wrap:wrap}.service-hero-main{flex-basis:100%;order:3}.wizard-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-wizard-progress{gap:8px;padding:14px 10px}.wiz-step{gap:6px;font-size:9px}.wiz-step b{width:23px;height:23px}.ticket-card-head{gap:10px}.counter-grid{grid-template-columns:1fr}.tech-time-grid{gap:6px}.tech-time-grid b{font-size:10px}}
