/* qc-ui-v9 — laptop/mobile readability and touch-target QA */
:root{--qc-text:#17263a;--qc-muted:#5f7185;--qc-border:#dfe7ef;--qc-primary:#1559aa;--qc-success:#16765c;--qc-warning:#a65f0d;--qc-danger:#a61f17}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:#f6f8fb;color:var(--qc-text);font-family:"Segoe UI",Tahoma,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:inherit;font-size:15.5px;line-height:1.45}
button,.btn,.tabs button,.nav button,.mobile button,.choices button,.status button{min-height:44px}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(21,89,170,.20);outline-offset:2px}
.muted{font-size:14px!important;color:var(--qc-muted)!important;line-height:1.6}.micro{font-size:13px!important;color:#6d7f92!important;line-height:1.55}.pill{font-size:13px!important;padding:6px 10px!important;font-weight:700;white-space:nowrap}
.card{border-color:var(--qc-border);box-shadow:0 6px 22px rgba(20,50,80,.055)}
.main{margin-right:250px;padding:28px 30px 34px;max-width:1560px}.top{margin-bottom:22px;align-items:center}.top h1{font-size:27px!important;line-height:1.35;font-weight:800}.tools{gap:10px}.btn{font-size:15px;padding:11px 16px;min-height:44px;border-radius:11px}
.side{width:250px;background:#113454;padding:22px 18px}.side h2{font-size:19px!important;line-height:1.4;margin:6px 6px 18px}.nav{display:grid;gap:6px}.nav button{font-size:15.5px;font-weight:700;line-height:1.5;padding:12px 14px;border-radius:11px}.nav button.on{background:rgba(255,255,255,.14);box-shadow:inset 3px 0 0 rgba(255,255,255,.72)}
.auth{padding:24px}.login{width:min(500px,100%);padding:28px}.brand b{font-size:18px}.logo{width:52px;height:52px;font-size:17px}.tabs{gap:4px;padding:5px;margin:16px 0;border-radius:13px}.tabs button{font-size:15.5px;font-weight:700;line-height:1.45;padding:11px 12px;min-height:46px;border-radius:10px}.field{margin:13px 0}.field label{font-size:14.5px!important;margin-bottom:7px}.inp{font-size:15.5px;padding:12px 13px;min-height:46px;border-radius:11px}textarea.inp{line-height:1.65}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.kpi{padding:18px 19px!important;min-height:118px!important;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-radius:16px}.kpi>span:first-child{font-size:15px;font-weight:800;line-height:1.45;color:#334b63}.kpi b{font-size:29px!important;line-height:1.1;margin:8px 0 4px!important;color:#123b68}.kpi .hint{font-size:13px!important;color:#718399!important;line-height:1.45;margin-top:3px!important}.kpi.clickable,.floor.clickable{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.kpi.clickable:hover,.floor.clickable:hover{transform:translateY(-2px);border-color:#b9cde2;box-shadow:0 10px 26px rgba(18,59,104,.10)}.kpi.goodtone b{color:var(--qc-success)}.kpi.warntone b{color:var(--qc-warning)}.kpi.bad b{color:var(--qc-danger)}.kpi.neutral b{color:#52677d}
.section{padding:21px!important;margin-top:16px!important}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.section-title h3,.section h3{font-size:18px;line-height:1.45;font-weight:800}
.floors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.floor{background:#fbfcfe;padding:16px!important;min-height:104px;border-radius:14px!important}.floor .floor-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}.floor .floor-meta b{font-size:15.5px;line-height:1.45}.bar{height:10px!important;background:#e9eef4;margin-top:10px!important}
.trackgroup{margin-bottom:20px}.trackgroup>h3{font-size:17px!important;color:#2f465e!important;margin:7px 2px 11px!important}.filterbar,.filter{display:flex;gap:10px!important;flex-wrap:wrap;align-items:center;padding:12px!important;background:#f8fafc;border:1px solid #e5ebf2;border-radius:14px;margin-bottom:16px!important}.filterbar .inp,.filter .inp{width:auto;min-width:170px}
.task{padding:17px!important;border-radius:15px!important;margin-bottom:12px!important}.taskhead{align-items:flex-start}.taskhead b{font-size:16px;line-height:1.55}.status{gap:8px!important;margin:12px 0!important}.status button{font-size:14px!important;font-weight:800!important;padding:9px 14px!important;border-radius:10px!important}.cols{gap:10px!important}.note{min-height:82px!important}.old-status{font-size:13.5px!important;line-height:1.6}.row{padding:13px 0!important;gap:12px}.row>div,.row>b,.row>span{font-size:15px}.row>div{min-width:0}.settings{gap:14px!important}.setting{padding:16px!important}.setting h3,.setting h4{font-size:17px;line-height:1.45}.code{font-size:27px!important}.panel{font-size:15px;line-height:1.75}.panel ol{line-height:2}.choices{gap:12px!important}.choices button{font-size:15.5px!important;padding:13px 14px!important}
.note-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.note-form .wide{grid-column:1/-1}.uploadbox{padding:14px!important}.note-list{gap:12px!important}.note-item{padding:16px!important}.note-item-head b{font-size:15.5px;line-height:1.55}.empty{font-size:15px!important;line-height:1.7}.modalbox{padding:24px}.modalbox h3{font-size:19px}.close{font-size:22px}.toast{font-size:14px;line-height:1.5}
@media(min-width:1600px){.grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media(max-width:1180px){.main{padding:24px 22px 32px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.floors{grid-template-columns:1fr!important}}
@media(max-width:900px){html,body{font-size:16px}.side{display:none}.main{margin:0!important;padding:17px 13px calc(92px + env(safe-area-inset-bottom))!important;max-width:none}.top{align-items:flex-start;gap:12px;margin-bottom:17px}.top h1{font-size:23px!important}.tools{gap:7px}.tools .btn{font-size:14px;padding:9px 11px;min-height:42px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.kpi{min-height:108px!important;padding:15px!important}.kpi>span:first-child{font-size:14px}.kpi b{font-size:25px!important;margin-top:7px!important}.kpi .hint{font-size:13px!important}.section{padding:16px!important;margin-top:12px!important}.section-title{align-items:flex-start}.section-title h3,.section h3{font-size:17px}.floors{grid-template-columns:1fr!important;gap:10px!important}.floor{padding:15px!important;min-height:98px}.floor .floor-meta b{font-size:15px}.filterbar,.filter{padding:10px!important;gap:8px!important}.filterbar .inp,.filter .inp{min-width:0;flex:1 1 140px}.task{padding:15px!important}.taskhead{display:flex!important;flex-direction:column;gap:8px}.taskhead b{font-size:15.5px}.status{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px!important}.status button{font-size:13.5px!important;padding:8px 7px!important;min-height:44px}.cols,.settings,.note-form{grid-template-columns:1fr!important}.note-form .wide{grid-column:auto}.row{flex-wrap:wrap;align-items:flex-start}.setting .row .inp{max-width:none!important;flex:1 1 140px}.setting .row>div{flex:1 1 100%!important}.setting .row label{font-size:14px}.mobile{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;background:#fff;border-top:1px solid #d8e2ec;box-shadow:0 -6px 18px rgba(18,52,84,.08);padding:6px 4px calc(6px + env(safe-area-inset-bottom))!important}.mobile button{font-size:13.5px!important;font-weight:700;line-height:1.35;color:#53677c;padding:8px 4px!important;min-height:54px;border-radius:10px;white-space:normal}.mobile button.on{color:var(--qc-primary)!important;background:#edf4fc!important;font-weight:800!important}.login{padding:22px 18px}.tabs button{font-size:14.5px;min-height:46px}.field label{font-size:14px!important}.inp{font-size:16px;min-height:47px}.note-img{max-width:100%!important;height:auto}}
@media(max-width:560px){.main{padding-left:10px!important;padding-right:10px!important}.top{flex-direction:column}.tools{width:100%}.tools .btn{flex:1}.grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.kpi{min-height:104px!important;padding:13px!important}.kpi>span:first-child{font-size:14px}.kpi b{font-size:23px!important}.kpi .hint{font-size:13px!important}.section{padding:14px!important}.section-title{flex-direction:column;gap:4px}.filterbar .inp,.filter .inp{flex:1 1 100%;width:100%}.status{grid-template-columns:1fr!important}.mobile button{font-size:13.5px!important}.tabs{display:grid;grid-template-columns:1fr 1fr}.tabs button{font-size:14px}.row{gap:9px}.row .btn{font-size:14px}}
