.app>nav .add span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#1768df;color:#fff;font-size:34px;line-height:1;box-shadow:0 8px 18px #236cd94d}
.company-hero{position:relative}
.company-hero [data-edit-company]{position:absolute;right:14px;top:14px}
.ui-icon{display:block;width:24px;height:24px;min-width:24px;min-height:24px}
aside button .ui-icon{width:25px;height:25px}
.app>nav button:not(.add) .ui-icon{width:23px;height:23px}
.app>header .ui-icon{width:23px;height:23px}
.settings button>span:first-child{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#eaf3ff;color:#216bd8;flex:none}
.settings button>span:first-child .ui-icon{width:25px;height:25px}
.settings button>span:last-child .ui-icon{width:20px;height:20px;color:#9aa8b9}
.contact button .ui-icon{width:25px;height:25px}
.stats .ui-icon{width:20px;height:20px}
.quick .ui-icon{width:24px;height:24px}
.profile .avatar .ui-icon{width:31px;height:31px}
.secure .ui-icon{width:16px;height:16px}
.admin-note>span,.storage-info>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#216bd8;flex:none}
.admin-note .ui-icon,.storage-info .ui-icon{width:23px;height:23px}
.storage-card>span .ui-icon{width:28px;height:28px}
.folder-tree>div>span:first-child{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#edf4ff;color:#216bd8;flex:none}
.folder-tree .ui-icon{width:23px;height:23px}
.device>span .ui-icon{width:25px;height:25px}
.time .ui-icon{width:18px;height:18px}
.heading button .ui-icon{width:17px;height:17px}
.visit>span:last-child .ui-icon{width:20px;height:20px;color:#9aa8b9}
.search .ui-icon{width:23px;height:23px}
@media(min-width:900px){aside{width:116px}aside button{width:82px;padding:14px 5px;gap:7px;font-size:12px}}

/* v0.4 interactive dashboard */
.stats button{border:1px solid #e8edf4;background:#fff;padding:14px;border-radius:18px;display:grid;gap:6px;text-align:left;color:#13213a;transition:.18s ease}
.stats button:hover{transform:translateY(-2px);border-color:#b8d2f8;box-shadow:0 10px 25px #276bc214}
.stats button>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center}
.stats button small{font-size:12px;color:#7a899b}.stats button b{font-size:23px}.stats button em{font-size:12px;margin-left:3px;font-weight:500;font-style:normal}
.recent-list{display:grid;gap:9px}.recent-row{width:100%;border:1px solid #e5ebf2;background:#fff;border-radius:16px;padding:13px;display:flex;align-items:center;gap:12px;text-align:left}
.recent-row>span:nth-child(2){display:flex;flex-direction:column;flex:1;gap:3px}.recent-row small{font-size:12px;color:#8190a2}.recent-row>span:last-child .ui-icon{width:18px;height:18px;color:#a2adba}
.recent-icon{width:42px;height:42px;border-radius:13px;background:#eaf3ff;color:#1967e8;display:grid;place-items:center}.recent-icon .ui-icon{width:22px;height:22px}

/* v1.5: v1.3 팔레트 복원 — 크기와 배치는 변경하지 않음 */
.stats .blue{background:#e7f1ff;color:#1767dc}.stats .orange{background:#fff0df;color:#dc7b19}.stats .green{background:#e8f8ef;color:#289966}
.recent-icon{background:#f2edff;color:#7755cc}
.settings button[data-view="accounts"]>span:first-child{background:#eaf3ff;color:#216bd8}.settings button[data-view="storage"]>span:first-child{background:#e8f8ef;color:#289966}.settings button[data-view="widget"]>span:first-child{background:#f2edff;color:#7755cc}.settings button[data-notice]>span:first-child{background:#fff0df;color:#dc7b19}.settings button[data-voice]>span:first-child{background:#f3edff;color:#7959dc}

/* Company detail */
.company-edit{position:absolute;right:16px;top:16px;border:1px solid #cfe0f6;background:#fff;color:#2667c4;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:750}
.device-heading{display:flex;align-items:end;justify-content:space-between;margin:26px 1px 12px}.device-heading h2{margin:0;font-size:19px}.device-heading small{color:#8996a7}
.device-list{display:grid;gap:10px}.device-v4{align-items:center}.device-v4>div:nth-child(2){flex:1;min-width:0}.device-actions{margin-left:auto;display:flex;gap:6px}.device-actions button{border:1px solid #d7e1ee;background:#fff;border-radius:9px;padding:7px 10px;color:#49617e;font-weight:700;font-size:12px}.device-actions .danger{color:#ca4250;border-color:#f0cbd0;background:#fff8f8}
.company-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:28px 0 14px;padding:6px;background:#eaf0f7;border-radius:17px}
.company-tabs button{border:0;background:transparent;border-radius:12px;min-height:58px;padding:8px;display:flex;align-items:center;justify-content:center;gap:7px;color:#718096;font-weight:750}
.company-tabs button .ui-icon{width:20px;height:20px}.company-tabs button em{font-size:10px;font-style:normal;background:#dbe4ef;min-width:20px;padding:3px 6px;border-radius:10px}
.company-tabs button.active{background:#fff;color:#1768df;box-shadow:0 4px 14px #173b6614}.company-tabs button.active em{background:#e5f0ff;color:#1768df}
.company-panel{background:#fff;border:1px solid #e2e9f2;border-radius:21px;padding:18px;min-height:240px}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.panel-head h3{margin:0;font-size:17px}.panel-head p{margin:4px 0 0;color:#8592a4;font-size:12px}
.primary.mini{padding:9px 12px;font-size:12px;white-space:nowrap}.polished-empty{min-height:170px;display:grid;place-items:center;align-content:center;text-align:center;gap:7px;color:#74849a}.polished-empty .ui-icon{width:34px;height:34px;color:#3977d1;margin-bottom:4px}.polished-empty b{color:#33445c}.polished-empty small{max-width:320px}.polished-empty.compact{min-height:110px}.polished-empty.wide{grid-column:1/-1}
.timeline-top{display:flex;align-items:center;justify-content:space-between}.status-badge{font-size:10px;background:#fff1d9;color:#ad7118;padding:4px 7px;border-radius:8px}.status-badge.complete{background:#e7f8ef;color:#23845a}.timeline .parts{background:#f3f7fc;border-radius:8px;padding:7px 9px;color:#46617f}

/* AS intake */
.app-modal{max-height:min(90dvh,820px);overflow:auto}.form-section{display:grid;gap:8px}.field-label{font-size:14px!important;color:#263a56!important}.select-card,.datetime-card{position:relative;border:1px solid #b9c7d8;background:#fff;border-radius:14px;min-height:58px;display:flex;align-items:center;gap:11px;padding:10px 13px;box-shadow:0 3px 10px #24486f0a}
.select-card:focus-within,.datetime-card:focus-within{border-color:#1c68da;box-shadow:0 0 0 3px #1c68da18}.select-card>.ui-icon:first-child,.datetime-card>.ui-icon{color:#216bd8}.select-card>.ui-icon:last-child{width:18px;height:18px;color:#8b98aa}
.select-card select{appearance:none!important;border:0!important;background:transparent!important;padding:0!important;outline:0;flex:1;font-weight:750;color:#1c2f49;min-width:0}
.symptom-box{border:1px solid #b9c7d8!important;background:#fff!important;border-radius:14px!important;min-height:105px!important}
.datetime-shell{display:grid;grid-template-columns:1fr auto;gap:9px}.datetime-card{cursor:pointer;overflow:hidden}.datetime-card>div{display:flex;flex-direction:column;gap:2px;flex:1}.datetime-card small{color:#8390a1}.datetime-card b{font-size:14px;color:#273b57}
.datetime-card input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.date-confirm{border:1px solid #b9c7d8;background:#fff;color:#9aa5b2;border-radius:13px;padding:0 13px;font-weight:750}.date-confirm:not(:disabled){color:#1768df;border-color:#78a9ee;background:#edf5ff}.date-confirm.confirmed{color:#23845a;border-color:#8bd0ae;background:#eaf8f1}
.status-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.status-options label{border:1px solid #bdc9d8;background:#fff;border-radius:13px;padding:12px 8px;display:flex!important;flex-direction:row;align-items:center;justify-content:center;gap:7px;color:#68788d!important;cursor:pointer}.status-options input{position:absolute;opacity:0}.status-options .ui-icon{width:19px;height:19px}.status-options label.selected{border-color:#1b68df;background:#edf5ff;color:#155ec7!important;box-shadow:0 0 0 2px #1b68df14}
.submit-area{display:grid;gap:8px;text-align:center;margin-top:4px}.intake-submit{height:50px;font-size:16px}.submit-area small{color:#7b899b}
.confirm-card{display:flex;align-items:center;gap:12px;background:#f5f8fc;border:1px solid #e1e8f1;border-radius:15px;padding:15px}.confirm-card>.ui-icon{color:#1c68d8}.confirm-card>div{display:flex;flex-direction:column}.confirm-card small{color:#7b899b}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.danger-button{border:0;background:#d94855;color:#fff;border-radius:10px;padding:10px 14px;font-weight:750}

/* Voice */
.voice-center{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:14px 6px 8px}.voice-center .orb{margin:4px auto 18px}.voice-center .orb .ui-icon{width:31px;height:31px}.voice-copy{width:100%;text-align:center;margin:0 0 14px}.voice-result{width:min(100%,390px);display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.5;margin:0 auto 14px}.voice-actions{width:100%;display:flex;justify-content:center;align-items:stretch;gap:9px;flex-wrap:wrap}.voice-actions button{min-height:44px;min-width:136px}.voice-actions button:disabled{opacity:.48;cursor:not-allowed}

/* Schedule */
.schedule-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.date-jump{position:relative;border:1px solid #c7d3e2;background:#fff;border-radius:13px;padding:10px 12px;display:flex;align-items:center;gap:7px;color:#216bd8;cursor:pointer}.date-jump input{position:absolute;inset:0;opacity:0;cursor:pointer}.date-jump .ui-icon{width:20px;height:20px}.date-jump span{font-size:12px;font-weight:750}.dates button{transition:.15s}.dates button:hover{background:#e8f1ff}.day-summary{display:flex;align-items:center;gap:12px;background:#edf5ff;border:1px solid #d2e3fa;border-radius:16px;padding:14px;margin-bottom:4px}.day-summary>span{width:42px;height:42px;border-radius:13px;background:#1b69e2;color:#fff;display:grid;place-items:center}.day-summary>span .ui-icon{width:23px;height:23px}.day-summary>div{display:flex;flex-direction:column}.day-summary small{color:#6e7f94}
.favorite-editor{display:grid;gap:8px;max-height:430px;overflow:auto}.favorite-editor label{display:flex;align-items:center;gap:11px;border:1px solid #e0e7f0;border-radius:13px;padding:11px}.favorite-editor label>span:nth-child(2){display:flex;flex:1;flex-direction:column}.favorite-editor small{color:#8390a2}.favorite-editor input{width:21px;height:21px}.favorite-avatar{width:40px;height:40px;border-radius:12px;background:#eaf3ff;color:#1768df;display:grid;place-items:center;font-weight:850}.favorite-save{width:100%;margin-top:15px}.detail-list{display:grid;gap:9px}

@media(max-width:560px){.datetime-shell{grid-template-columns:1fr}.date-confirm{min-height:44px}.status-options label{flex-direction:column!important;gap:3px}.device-v4{align-items:flex-start}.device-actions{flex-direction:column}.company-tabs button{flex-direction:column;gap:3px}.company-tabs button em{position:absolute;margin:0 0 30px 42px}.company-tabs button{position:relative}.schedule-title{align-items:center}.date-jump span{display:none}.file-grid{grid-template-columns:repeat(2,1fr)}}

/* v0.5 polished intake picker */
.company-picker{position:relative}.company-trigger{width:100%;min-height:66px;border:1px solid #aebed2;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:16px;padding:10px 14px;display:flex;align-items:center;gap:12px;text-align:left;box-shadow:0 5px 16px #24486f0b;transition:.16s}.company-trigger:hover,.company-trigger:focus,.company-trigger.selected{border-color:#2a72da;box-shadow:0 0 0 3px #1c68da13}.company-trigger>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:3px}.company-trigger small{color:#7c8ca0}.company-trigger b{font-size:15px;color:#1d314d}.company-trigger>.ui-icon{width:19px;height:19px;color:#8a99ac}.company-mark{width:42px;height:42px;border-radius:13px;background:#e8f2ff;color:#1768df;font-weight:850;display:grid;place-items:center;flex:none}
.company-menu{position:absolute;z-index:20;left:0;right:0;top:73px;background:#fff;border:1px solid #bdcada;border-radius:17px;padding:10px;box-shadow:0 18px 46px #1836532b}.company-menu>label{height:43px;border:1px solid #d3deeb;background:#f6f9fc;border-radius:12px;padding:0 11px;display:flex;align-items:center;gap:8px}.company-menu>label .ui-icon{width:18px;height:18px;color:#6f8095}.company-menu>label input{border:0!important;background:transparent!important;padding:0!important;outline:0;flex:1}.company-menu [data-company-options]{max-height:260px;overflow:auto;margin-top:8px;display:grid;gap:4px}.company-menu [data-pick-company]{border:0;background:#fff;border-radius:12px;padding:9px;display:flex;align-items:center;gap:10px;text-align:left}.company-menu [data-pick-company]:hover{background:#eef5ff}.company-menu [data-pick-company]>span:first-child{width:37px;height:37px;border-radius:11px;background:#edf4ff;color:#1768df;display:grid;place-items:center;font-weight:800}.company-menu [data-pick-company]>span:nth-child(2){display:flex;flex:1;flex-direction:column}.company-menu [data-pick-company] small{color:#8795a7}.company-menu [data-pick-company]>.ui-icon{width:17px;height:17px;color:#a0adbd}.company-option-empty{padding:25px;text-align:center;color:#8492a4}
.field-line{display:flex;justify-content:space-between;align-items:center}.field-line small{color:#8492a4}.date-time-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:9px}.date-field{border:1px solid #9fb0c5!important;background:#fff!important;border-radius:15px!important;padding:10px 13px!important;display:flex!important;flex-direction:row!important;align-items:center;gap:10px;color:#216bd8!important;box-shadow:0 4px 13px #24486f0b}.date-field:focus-within{border-color:#1768df!important;box-shadow:0 0 0 3px #1768df17}.date-field>.ui-icon{width:22px;height:22px;flex:none}.date-field>span{display:flex;flex:1;flex-direction:column;gap:2px}.date-field small{font-size:11px;color:#7d8da1}.date-field input{border:0!important;background:transparent!important;padding:0!important;min-height:25px!important;font-size:15px!important;font-weight:750;color:#182e4b;width:100%;outline:0;color-scheme:light}.schedule-section>.date-confirm{min-height:45px;padding:8px 12px}.schedule-section>.date-confirm.confirmed{border-color:#2b8a62;background:#ecf9f3;color:#197650}

/* Voice recording and stored audio */
.record-state{display:flex;align-items:center;justify-content:center;gap:8px;margin:-5px 0 16px;color:#496078}.record-state i{width:9px;height:9px;border-radius:50%;background:#9ba8b7}.record-state time{font-variant-numeric:tabular-nums;color:#7e8da0}.recording{animation:recordPulse 1.25s infinite;background:#e7505b!important}.recording+.record-state i,.record-state:has(+*) i{transition:.2s}@keyframes recordPulse{50%{box-shadow:0 0 0 16px #e7505b18}}
.voice-company{width:min(100%,420px);display:flex!important;flex-direction:column;align-items:stretch!important;text-align:left;color:#3b506a!important;margin-bottom:12px}.voice-company select{border:1px solid #aebed2!important;background:#fff!important;border-radius:13px!important;min-height:47px;padding:0 12px!important;font-weight:700}.voice-preview{width:min(100%,420px);margin:2px auto 13px}.record-actions,.voice-final-actions{width:100%;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.record-actions{margin-bottom:9px}.record-actions button,.voice-final-actions button{min-height:44px}.record-actions .ui-icon{width:19px;height:19px;display:inline-block;vertical-align:middle;margin-right:4px}.voice-help{font-size:11px;color:#8a97a8;margin:13px 0 0}.voice-files{display:grid;gap:9px;margin-top:14px}.voice-file{border:1px solid #dce5ef;background:#f9fbfe;border-radius:15px;padding:12px;display:flex;align-items:flex-start;gap:11px}.voice-file>span{width:40px;height:40px;border-radius:12px;background:#eee9ff;color:#7556d5;display:grid;place-items:center}.voice-file>span .ui-icon{width:21px;height:21px}.voice-file>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.voice-file small{color:#7f8da0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-file audio{width:100%;height:36px}.panel-actions{display:flex;gap:7px}

/* PWA push setup */
.push-guide{display:grid;gap:10px}.push-status{border:1px solid #e0e7f0;background:#f8fafc;border-radius:15px;padding:13px;display:flex;align-items:center;gap:11px}.push-status>.ui-icon{width:24px;height:24px;color:#c18124}.push-status.ok{background:#f1faf6;border-color:#cdebdc}.push-status.ok>.ui-icon{color:#23845a}.push-status>div{display:flex;flex-direction:column;gap:3px}.push-status small{color:#7f8da0}.push-actions{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8px;margin-top:5px}.push-actions button{min-height:47px}.push-result{margin:2px 0 0;padding:11px;border-radius:12px;background:#edf4ff;color:#46617f;text-align:center;font-size:12px}
.push-actions button:disabled,.record-actions button:disabled{opacity:.42;filter:saturate(.35);cursor:not-allowed}.secure-open{display:flex;align-items:center;justify-content:center;min-height:47px;border-radius:13px;background:#1768df;color:#fff!important;text-decoration:none;font-weight:800;padding:10px 14px}.voice-help+.secure-open{width:min(100%,420px);margin-top:10px}

@media(max-width:560px){.date-time-grid{grid-template-columns:1fr}.company-menu{position:fixed;left:14px;right:14px;top:18%;max-height:64dvh}.push-actions{grid-template-columns:1fr}.panel-actions{flex-direction:column}.voice-file audio{height:34px}}

/* v0.7 voice command analysis and material deletion */
.voice-detected{width:min(100%,420px);display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-3px auto 15px}.voice-detected span{display:flex;align-items:center;gap:6px;border:1px solid #d6e0ec;background:#f7f9fc;color:#687a91;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:750}.voice-detected span.ok{border-color:#bfe4d1;background:#effaf4;color:#1c7a52}.voice-detected span.warn{border-color:#edd6ad;background:#fff9ed;color:#9a681b}.voice-detected .ui-icon{width:16px;height:16px}
.material-card{position:relative;border:1px solid #dce5ef;border-radius:15px;background:#fff;overflow:hidden}.material-card .file-card{width:100%;border:0;border-radius:0;padding-bottom:42px}.material-delete{border:1px solid #efc8ce;background:#fff7f8;color:#bd3f4c;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:800;white-space:nowrap}.material-card>.material-delete{position:absolute;right:9px;bottom:9px}.voice-file>.material-delete{align-self:center;margin-left:4px}.material-delete:hover{background:#ffecef;border-color:#e69ba5}.material-delete:disabled{opacity:.45}
@media(max-width:560px){.voice-file{flex-wrap:wrap}.voice-file>div{width:calc(100% - 55px)}.voice-file>.material-delete{margin-left:auto}.material-card .file-card{padding-bottom:47px}}

/* v0.8 contextual search */
.search-result{max-height:min(66dvh,560px);overflow:auto;padding:7px}.search-result .search-company-card{display:flex;flex-direction:column;gap:8px;border:0!important;border-radius:13px!important;padding:10px!important;margin:0;background:#fff}.search-result .search-company-card:hover{background:#f4f8fd}.search-company-head{display:flex;align-items:center;gap:10px;width:100%}.search-company-head>span:first-child{width:38px;height:38px;border-radius:12px;background:#e9f2ff;color:#1768df;display:grid;place-items:center;font-weight:850;flex:none}.search-company-head>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column}.search-company-head>span:nth-child(2) b{color:#142946}.search-company-head small{color:#8290a2;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-company-head>.ui-icon{width:17px;height:17px;color:#a0adbd}.search-context{width:100%;display:grid;gap:5px;padding-left:48px}.search-match{display:flex;align-items:center;gap:7px;border-radius:9px;padding:7px 9px;text-align:left}.search-match>.ui-icon{width:18px;height:18px;flex:none}.search-match>span{display:flex;min-width:0;flex-direction:column}.search-match b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-match small{font-size:10px;color:#718198;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-match{background:#edf5ff;color:#1768df}.symptom-match{background:#fff4e8;color:#ad6819}.search-context-empty{padding-left:48px;color:#8391a3;font-size:11px}
@media(max-width:430px){.search-context{padding-left:0}.search-context-empty{padding-left:48px}}

/* v1.0 fixed iPhone app viewport */
html,body,#app{width:100%;height:100%;max-width:100%;overflow:hidden;overscroll-behavior:none;background:#f7f9fc}body{position:relative;touch-action:pan-y}.shell{width:100%;height:100dvh;min-height:0;max-width:100vw;overflow:hidden}.app{height:100dvh;min-height:0;max-width:100vw;padding-bottom:0;display:flex;flex-direction:column;overflow:hidden}.app>header{width:100%;flex:0 0 auto}.content{width:100%;max-width:100%;min-width:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(112px + env(safe-area-inset-bottom))}.content>*{max-width:100%;min-width:0}.stats,.quick,.date-time-grid,.status-options{grid-template-columns:repeat(var(--fixed-cols,3),minmax(0,1fr))}.quick,.date-time-grid{--fixed-cols:2}.app-modal{max-width:calc(100vw - 28px);max-height:calc(100dvh - 24px);overflow-x:hidden;overscroll-behavior:contain;margin:auto}.modal-inner,.modal-inner form,.form-section,.company-picker,.date-time-grid{width:100%;max-width:100%;min-width:0}.modal-inner{overflow-x:hidden}.modal-head>div{min-width:0}.modal-head h2,.modal-head p{overflow-wrap:anywhere}.company-trigger,.date-field,.symptom-box{max-width:100%;min-width:0}
@media(max-width:768px){input,textarea,select{font-size:16px!important}.search input{font-size:16px!important}.date-field input{font-size:16px!important}.app-modal{width:calc(100vw - 28px)}.modal-inner{padding:24px 20px}.status-options label{font-size:13px!important}.status-options label b{font-size:13px}.app>nav{padding-bottom:max(4px,env(safe-area-inset-bottom));height:calc(76px + env(safe-area-inset-bottom))}}
@media(max-width:560px){.date-time-grid{grid-template-columns:minmax(0,1fr)}.form-row{grid-template-columns:minmax(0,1fr)}.modal-inner{padding:22px 18px}.app-modal{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}}
@media(min-width:900px){.shell{height:100dvh}.app{height:calc(100dvh - 72px)}}
.standalone-hint{display:flex;align-items:center;gap:11px;margin:0 0 18px;padding:13px 15px;border:1px solid #cfe0f7;border-radius:16px;background:#eef5ff;color:#345372}.standalone-hint .ui-icon{width:23px;height:23px;color:#1768df;flex:none}.standalone-hint span{display:flex;min-width:0;flex-direction:column;gap:3px}.standalone-hint b{font-size:13px}.standalone-hint small{font-size:11px;line-height:1.45;color:#6e8199}.push-diagnostic{display:grid;gap:4px;margin:0;padding:11px 13px;border:1px solid #dde6f1;border-radius:12px;background:#f8fafc;color:#52677f;font-size:11px;line-height:1.45}.push-diagnostic b{color:#263d59}.push-diagnostic.error{border-color:#efcbd0;background:#fff7f8;color:#a84550}

/* v1.0 company address actions */
.company-info{min-width:0;padding-right:98px}.company-info>p{overflow-wrap:anywhere}.address-actions{display:flex;gap:7px;margin-top:11px}.address-actions button{min-height:36px;border:1px solid #bfd0e5;border-radius:11px;background:#fff;color:#405b7d;padding:7px 10px;display:flex;align-items:center;gap:6px;font-weight:750}.address-actions button .ui-icon{width:17px;height:17px}.address-actions button b{font-size:11px}.address-actions .tmap-button{border-color:#7facf0;background:#edf5ff;color:#1768df}
@media(max-width:430px){.company-info{padding-right:0;width:100%}.company-hero{align-items:flex-start;flex-wrap:wrap;padding-top:66px}.company-hero>.avatar{margin-top:2px}.company-info{flex:1}.address-actions{width:100%}.address-actions button{flex:1;justify-content:center}}

/* v1.1 time, timeline editor, stable status controls and clean logo */
.brand,.brand.small{border:0;background:#fff;box-shadow:none}.brand img{object-fit:contain}
.timeline article{padding-left:84px}.timeline article:not(:last-child)::before{left:62px;top:27px}.timeline article>label{left:0;top:5px;width:48px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.timeline article>i{left:56px;top:7px;width:14px;height:14px}.timeline .timeline-card{width:100%;border:1px solid #dce5f0;background:#fff;border-radius:18px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:6px;color:#13213a;box-shadow:0 4px 14px #1b36560a;-webkit-tap-highlight-color:transparent}.timeline .timeline-card:active{transform:translateY(1px);background:#f9fbfe}.timeline .timeline-card>b{font-size:16px;line-height:1.4}.timeline-edit{margin-top:4px;display:flex;align-items:center;justify-content:flex-end;gap:3px;color:#5e7592;font-size:11px;font-weight:750}.timeline-edit .ui-icon{width:14px;height:14px}
.status-options label{position:relative;isolation:isolate;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;outline:0!important}.status-options input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;opacity:0!important;appearance:none!important;-webkit-appearance:none!important;outline:0!important;border:0!important}.status-options label:focus,.status-options label:focus-within,.status-options input:focus,.status-options input:focus-visible{outline:0!important}.status-options label:active{transform:scale(.985)}
.job-company-summary{display:flex;align-items:center;gap:11px;border:1px solid #d7e1ed;background:#f6f9fd;border-radius:15px;padding:12px}.job-company-summary>span{width:42px;height:42px;border-radius:13px;background:#e7f1ff;color:#1768df;display:grid;place-items:center;font-weight:850}.job-company-summary>div{display:flex;flex-direction:column}.job-company-summary small{color:#7c8ca0}.job-edit-actions{display:grid;grid-template-columns:auto 1fr;gap:9px}.job-edit-actions button{min-height:49px}
@media(max-width:430px){.timeline article{padding-left:72px}.timeline article:not(:last-child)::before{left:52px}.timeline article>label{width:39px;font-size:11px}.timeline article>i{left:46px}.timeline .timeline-card{padding:14px}.job-edit-actions{grid-template-columns:1fr}.job-edit-actions .danger-button{order:2}}

/* v1.2 browser-independent calendar and work execution panel */
.date-field{width:100%;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.date-field b{font-size:15px;color:#182e4b;line-height:1.35}.date-field:hover{border-color:#1768df!important;background:#f8fbff!important}.stacked-modal{width:min(94vw,470px);z-index:20}.calendar-picker{display:grid;gap:15px}.calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px}.calendar-toolbar strong{text-align:center;font-size:18px;color:#152a47}.calendar-toolbar button{width:44px;height:44px;border:1px solid #c9d6e5;border-radius:13px;background:#fff;color:#286bd0;display:grid;place-items:center}.calendar-toolbar .ui-icon{width:20px;height:20px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-week span{text-align:center;color:#7d8ca0;font-size:12px;font-weight:750;padding:2px}.calendar-days>span,.calendar-days button{aspect-ratio:1;border:1px solid transparent;border-radius:12px;background:#f5f8fc;color:#263c58;font-weight:750;display:grid;place-items:center}.calendar-days button:hover{border-color:#8cb3ea;background:#eef5ff}.calendar-days button.today{border-color:#b8cff0;color:#1768df}.calendar-days button.selected{border-color:#1768df;background:#1768df;color:#fff;box-shadow:0 5px 13px #1768df2e}.calendar-time{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:5px}.calendar-time label{display:flex;flex-direction:column;gap:6px;color:#536982;font-size:12px;font-weight:750}.calendar-time select{min-height:48px;border:1px solid #aebed2!important;border-radius:13px!important;background:#fff!important;padding:0 12px!important;font-size:16px!important;font-weight:750;color:#172c48}.calendar-confirm{min-height:50px}.calendar-guide{text-align:center;color:#74869c;margin:2px 0}.calendar-confirm:disabled{opacity:.45}
.work-detail{display:grid;gap:13px}.work-hero{display:flex;align-items:flex-start;gap:13px;border:1px solid #cfe0f5;background:linear-gradient(145deg,#eef5ff,#f9fbff);border-radius:18px;padding:16px}.work-hero>span{width:50px;height:50px;border-radius:15px;background:#1768df;color:#fff;display:grid;place-items:center;flex:none}.work-hero>span .ui-icon{width:26px;height:26px}.work-hero>div{min-width:0}.work-hero small{color:#6680a0}.work-hero h3{font-size:19px;line-height:1.4;margin:5px 0;color:#112744;overflow-wrap:anywhere}.work-hero p{margin:0;color:#1768df;font-weight:800}.work-facts{display:grid;grid-template-columns:1fr 1fr;gap:9px}.work-facts>div{display:flex;align-items:center;gap:10px;border:1px solid #dbe4ef;background:#fff;border-radius:15px;padding:12px}.work-facts .ui-icon{width:23px;height:23px;color:#1768df;flex:none}.work-facts span{display:flex;min-width:0;flex-direction:column}.work-facts small,.work-note small{color:#7c8ca0;font-size:11px}.work-facts b{font-size:13px;overflow-wrap:anywhere}.work-note{border:1px solid #dce5ef;border-radius:14px;background:#f8fafc;padding:12px;display:grid;gap:4px}.work-note p{margin:0;color:#354b66;line-height:1.5}.work-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.work-actions button,.work-primary-actions button{min-height:47px;display:flex;align-items:center;justify-content:center;gap:7px}.work-actions .ui-icon,.work-primary-actions .ui-icon{width:18px;height:18px}.work-primary-actions{display:grid;gap:8px;padding-top:2px}
@media(max-width:430px){.calendar-days{gap:4px}.calendar-days>span,.calendar-days button{border-radius:10px}.work-facts,.work-actions{grid-template-columns:1fr}.stacked-modal{width:calc(100vw - 20px)}}

/* v1.3 primary devices and unified 12-hour minute picker */
.primary-device{border-color:#91b9ef;background:linear-gradient(135deg,#f0f6ff,#fff)}.device-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.device-title mark{border:0;border-radius:999px;background:#1768df;color:#fff;padding:4px 7px;font-size:10px;font-weight:800}.device-actions .primary-device-button{border-color:#80ace9;background:#edf5ff;color:#1768df}.primary-device-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:11px;border:1px solid #c9d9ed!important;background:#f4f8fe;border-radius:15px;padding:12px!important;cursor:pointer}.primary-device-toggle>input{width:21px;height:21px;accent-color:#1768df}.primary-device-toggle>span:nth-child(2){width:40px;height:40px;border-radius:12px;background:#e3efff;color:#1768df;display:grid;place-items:center}.primary-device-toggle .ui-icon{width:21px;height:21px}.primary-device-toggle>span:last-child{display:flex;flex-direction:column;gap:2px}.primary-device-toggle small{color:#71839b;font-size:11px}
.device-choice-section{display:grid;gap:9px}.device-choice-list{display:grid;gap:8px}.device-choice{position:relative;display:flex!important;flex-direction:row!important;align-items:center;gap:10px;border:1px solid #cfdae7!important;background:#fff;border-radius:15px;padding:11px!important;cursor:pointer;-webkit-tap-highlight-color:transparent}.device-choice:hover,.device-choice.selected{border-color:#1768df!important;background:#f0f6ff;box-shadow:0 0 0 2px #1768df12}.device-choice>input{position:absolute;opacity:0;pointer-events:none}.device-choice-icon{width:42px;height:42px;border-radius:12px;background:#e7f1ff;color:#1768df;display:grid;place-items:center;flex:none}.device-choice-icon .ui-icon{width:22px;height:22px}.device-choice>span:nth-child(3){display:flex;min-width:0;flex:1;flex-direction:column}.device-choice b{font-size:14px;color:#172b48;overflow-wrap:anywhere}.device-choice small{font-size:11px;color:#7a8ba0}.device-choice em{font-style:normal;border-radius:999px;background:#1768df;color:#fff;padding:5px 8px;font-size:10px;font-weight:800;white-space:nowrap}.device-choice em.choose{background:#edf3fb;color:#61758e}.device-choice-empty{display:flex;align-items:center;gap:10px;border:1px dashed #bdcada;border-radius:15px;padding:14px;color:#718299}.device-choice-empty>.ui-icon{width:24px;height:24px}.device-choice-empty span{display:flex;flex-direction:column}.device-choice-empty small{font-size:11px}
.datetime-combined{min-height:69px}.datetime-combined>span{gap:4px}.datetime-combined>.ui-icon:last-child{margin-left:auto;color:#91a1b4;width:19px;height:19px}.calendar-time{grid-template-columns:1.25fr 1fr 1fr;align-items:end}.period-toggle{display:grid;grid-template-columns:1fr 1fr;gap:5px;border:1px solid #aebed2;border-radius:13px;background:#f3f6fa;padding:4px;min-height:48px}.period-toggle button{border:0;border-radius:9px;background:transparent;color:#687b92;font-weight:800}.period-toggle button.active{background:#1768df;color:#fff;box-shadow:0 3px 9px #1768df28}.visit .time b{font-size:11px;line-height:1.25;text-align:center}.widget time{font-size:11px;white-space:nowrap}
@media(max-width:560px){.calendar-time{grid-template-columns:1fr 1fr}.period-toggle{grid-column:1/-1}.device-choice em{font-size:9px}.device-actions{align-items:stretch}.device-actions button{white-space:nowrap}}

/* v1.4 reliable reminders, searchable product catalog and typography */
.reminder-section{display:grid;gap:9px}.reminder-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reminder-presets label{position:relative;display:flex!important;flex-direction:row!important;align-items:center;gap:9px;border:1px solid #cbd7e6!important;border-radius:15px;padding:12px!important;background:#fff;color:#53677f!important;cursor:pointer;-webkit-tap-highlight-color:transparent}.reminder-presets input{position:absolute;opacity:0}.reminder-presets .ui-icon{width:22px;height:22px;color:#8292a6;flex:none}.reminder-presets span{display:flex;flex-direction:column}.reminder-presets small{font-size:10px;color:#8796a8}.reminder-presets label.selected{border-color:#1768df!important;background:#eef5ff;color:#1768df!important;box-shadow:0 0 0 2px #1768df12}.reminder-presets label.selected .ui-icon{color:#1768df}.reminder-custom.selected{border-color:#1768df!important;background:#f3f8ff!important}.reminder-clear{justify-self:end;border:0;background:transparent;color:#bd4450;padding:4px 2px;font-size:11px;font-weight:750}.reminder-help{margin:0;color:#7b8ba0;font-size:11px;line-height:1.5}
.catalog-section{display:grid;gap:9px;border:1px solid #d4e2f3;border-radius:18px;background:linear-gradient(145deg,#f0f6ff,#fbfdff);padding:14px}.catalog-title{display:flex;align-items:center;gap:10px}.catalog-title>.ui-icon{width:24px;height:24px;color:#1768df}.catalog-title>span{display:flex;flex-direction:column}.catalog-title small{font-size:11px;color:#71839a}.catalog-search input{height:48px!important;border:1px solid #aec2dc!important;border-radius:13px!important;background:#fff!important;padding:0 13px!important}.catalog-results{display:grid;gap:6px;max-height:245px;overflow:auto}.catalog-results button{display:flex;align-items:center;gap:9px;width:100%;border:1px solid #d8e2ed;border-radius:13px;background:#fff;padding:10px;text-align:left;color:#203751}.catalog-results button:hover,.catalog-results button.selected{border-color:#1768df;background:#edf5ff}.catalog-results button>.ui-icon{width:21px;height:21px;color:#1768df;flex:none}.catalog-results button>span{display:flex;min-width:0;flex:1;flex-direction:column}.catalog-results button small{font-size:10px;color:#77899f}.catalog-results button b{font-size:13px;overflow-wrap:anywhere}.catalog-results button em{font-style:normal;border-radius:999px;background:#edf3fb;color:#53708f;padding:4px 7px;font-size:10px;font-weight:800}.catalog-results button.selected em{background:#1768df;color:#fff}.catalog-section>p{margin:0;color:#6f8299;font-size:10px;line-height:1.5}.catalog-empty{padding:15px;text-align:center;color:#7c8da2;font-size:11px}
.login-title h1,.welcome h1,.page-title h1,.company-hero h1,.profile h1,.modal-head h2{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Apple SD Gothic Neo","Noto Sans KR",sans-serif;font-weight:800;letter-spacing:-.035em}.brand img,.brand.small img{padding:0}
@media(max-width:560px){.reminder-presets{grid-template-columns:1fr}.catalog-section{padding:12px}.catalog-results{max-height:210px}}

/* v1.6 monthly work calendar */
.now-button{border:1px solid #b9cee9;background:#eef5ff;color:#1768df;border-radius:10px;padding:7px 10px;display:flex;align-items:center;gap:5px;font-weight:800;font-size:12px}.now-button .ui-icon{width:16px;height:16px}.field-help{margin:7px 2px 0;color:#7c8da1;font-size:11px}
.month-calendar{margin:0 0 18px;border:1px solid #dce5f0;border-radius:22px;background:#fff;padding:16px;box-shadow:0 8px 25px #365a8509}.month-toolbar{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:9px;margin-bottom:13px}.month-toolbar strong{text-align:center;color:#142844;font-size:18px}.month-toolbar button{width:40px;height:40px;border:1px solid #d9e3ef;border-radius:12px;background:#f8fafc;color:#42607f;display:grid;place-items:center}.month-toolbar .ui-icon{width:18px;height:18px}.month-week,.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.month-week span{text-align:center;padding:5px 0;color:#8b98a9;font-size:11px;font-weight:800}.month-week span:first-child{color:#d85b66}.month-week span:last-child{color:#3476d0}.month-days>span,.month-days>button{aspect-ratio:1;min-width:0;border:1px solid transparent;border-radius:12px;background:transparent;position:relative;display:grid;place-items:center;color:#263b57;-webkit-tap-highlight-color:transparent}.month-days>button:hover{background:#f0f5fb}.month-days>button.today{border-color:#9fbfea;background:#f5f9ff;color:#1768df}.month-days>button.selected{border-color:#1768df;background:#1768df;color:#fff;box-shadow:0 5px 13px #1768df2e}.month-days>button>b{font-size:13px}.month-count{position:absolute;right:3px;top:3px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:#e8f1ff;color:#1768df;font-size:9px;font-weight:900;display:grid;place-items:center}.selected .month-count{background:#fff;color:#1768df}.month-dot{position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:#e38a24}.month-dot.complete{background:#2d9a68}.month-legend{display:flex;justify-content:flex-end;gap:13px;margin-top:11px;color:#8492a4;font-size:10px}.month-legend span{display:flex;align-items:center;gap:5px}.month-legend i{width:7px;height:7px;border-radius:50%;background:#e38a24}.month-legend i.complete{background:#2d9a68}
.schedule-job-list{display:grid;gap:10px}.schedule-job{border:1px solid #e0e7f0;border-radius:19px;background:#fff;overflow:hidden;box-shadow:0 5px 16px #8192a40b}.schedule-job-main{width:100%;border:0;background:#fff;padding:13px;display:grid;grid-template-columns:68px 1fr 19px;align-items:center;gap:12px;text-align:left;color:#172c48}.schedule-job-main>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:4px}.schedule-job-main small{color:#75869c;font-size:11px}.schedule-job-main b{overflow-wrap:anywhere}.schedule-job-main em{width:max-content;border-radius:8px;background:#fff0df;color:#bd7419;padding:4px 7px;font-style:normal;font-size:10px;font-weight:800}.schedule-job-main>.ui-icon{width:19px;color:#a1adbb}.schedule-job-time{height:62px;border-radius:15px;background:#e7f1ff;color:#1767dc;display:grid;place-items:center;align-content:center;gap:3px}.schedule-job-time .ui-icon{width:20px;height:20px}.schedule-job-time b{font-size:10px;text-align:center}.schedule-status-button{width:100%;min-height:38px;border:0;border-top:1px solid #e8edf4;background:#f8fafc;color:#42607f;font-weight:800}.schedule-job.done{border-color:#d6e7de}.schedule-job.done .schedule-job-main{background:#f6faf8}.schedule-job.done .schedule-job-time{background:#e8f8ef;color:#289966}.schedule-job.done .schedule-job-main>span:nth-child(2)>b{text-decoration:line-through;color:#84948d}.schedule-job.done .schedule-job-main em{background:#e8f8ef;color:#28855d}.schedule-job.done .schedule-status-button{background:#eef8f3;color:#287b59}.work-hero.done{border-color:#cfe7da;background:linear-gradient(145deg,#eef9f3,#fbfdfc)}.work-hero.done>span{background:#289966}.work-hero.done h3{text-decoration:line-through;color:#64766d}
@media(max-width:430px){.month-calendar{padding:13px}.month-week,.month-days{gap:3px}.month-days>span,.month-days>button{border-radius:10px}.month-count{right:1px;top:1px}.schedule-job-main{grid-template-columns:60px 1fr 17px;padding:11px;gap:9px}.schedule-job-time{height:58px}}

/* v1.7 semantic color system */
:root{--km-blue:#1768df;--km-blue-soft:#e7f1ff;--km-orange:#c97716;--km-orange-soft:#fff0df;--km-purple:#7556d5;--km-purple-soft:#f2edff;--km-week:#289966;--km-week-soft:#e8f8ef;--km-done:#16806a;--km-done-soft:#e7f7f2;--km-danger:#bd3f4c;--km-danger-soft:#fff0f2}
.time.schedule,.tone-schedule .time{background:var(--km-orange-soft)!important;color:var(--km-orange)!important}.day-summary{background:var(--km-orange-soft);border-color:#f0d3ad}.day-summary>span{background:var(--km-orange)}
.month-count{background:var(--km-orange-soft);color:var(--km-orange)}.selected .month-count{background:#fff4e5;color:var(--km-orange)}.month-dot,.month-legend i{background:var(--km-orange)}.month-dot.complete,.month-legend i.complete{background:var(--km-done)}.month-days>button.selected:has(.month-dot){border-color:var(--km-orange);background:var(--km-orange);box-shadow:0 5px 13px #c9771630}.month-days>button.selected:has(.month-dot.complete){border-color:var(--km-done);background:var(--km-done);box-shadow:0 5px 13px #16806a30}.month-days>button.selected:has(.month-dot) .month-count{background:#fff;color:var(--km-orange)}.month-days>button.selected:has(.month-dot.complete) .month-count{color:var(--km-done)}
.schedule-job:not(.done){border-color:#edd9bd}.schedule-job:not(.done) .schedule-job-main{background:#fffdf9}.schedule-job:not(.done) .schedule-job-time{background:var(--km-orange-soft);color:var(--km-orange)}.schedule-job:not(.done) .schedule-job-main em{background:var(--km-orange-soft);color:var(--km-orange)}.schedule-job:not(.done) .schedule-status-button{background:#fff8ee;color:var(--km-orange)}
.schedule-job.done{border-color:#cce4da}.schedule-job.done .schedule-job-main,.schedule-job.done .schedule-status-button{background:var(--km-done-soft)}.schedule-job.done .schedule-job-time{background:#dff3ec;color:var(--km-done)}.schedule-job.done .schedule-job-main em{background:#dff3ec;color:var(--km-done)}
.recent-row.tone-recent .recent-icon{background:var(--km-purple-soft);color:var(--km-purple)}.recent-row.tone-week .recent-icon,.tone-week .recent-icon{background:var(--km-week-soft);color:var(--km-week)}
body[data-work-tone="recent"] .work-hero{border-color:#ded5f7;background:linear-gradient(145deg,var(--km-purple-soft),#fcfbff)}body[data-work-tone="recent"] .work-hero>span{background:var(--km-purple)}body[data-work-tone="recent"] .work-hero p,body[data-work-tone="recent"] .work-facts .ui-icon{color:var(--km-purple)}
body[data-work-tone="week"] .work-hero{border-color:#cde9da;background:linear-gradient(145deg,var(--km-week-soft),#fbfefc)}body[data-work-tone="week"] .work-hero>span{background:var(--km-week)}body[data-work-tone="week"] .work-hero p,body[data-work-tone="week"] .work-facts .ui-icon{color:var(--km-week)}
body[data-work-tone="schedule"] .work-hero{border-color:#efd5b3;background:linear-gradient(145deg,var(--km-orange-soft),#fffdf9)}body[data-work-tone="schedule"] .work-hero>span{background:var(--km-orange)}body[data-work-tone="schedule"] .work-hero p,body[data-work-tone="schedule"] .work-facts .ui-icon{color:var(--km-orange)}
.work-hero.done,body[data-work-tone] .work-hero.done{border-color:#cce4da;background:linear-gradient(145deg,var(--km-done-soft),#fbfefc)}.work-hero.done>span,body[data-work-tone] .work-hero.done>span{background:var(--km-done)}.work-hero.done p,body[data-work-tone] .work-hero.done p,.work-hero.done+.work-facts .ui-icon{color:var(--km-done)}
.status-options label:nth-child(1).selected{border-color:var(--km-blue);background:var(--km-blue-soft);color:var(--km-blue)!important}.status-options label:nth-child(2).selected{border-color:var(--km-orange);background:var(--km-orange-soft);color:var(--km-orange)!important}.status-options label:nth-child(3).selected{border-color:var(--km-done);background:var(--km-done-soft);color:var(--km-done)!important}
.status-badge{background:var(--km-orange-soft);color:var(--km-orange)}.status-badge.complete{background:var(--km-done-soft);color:var(--km-done)}.todo:not(.done) em{background:var(--km-orange-soft);color:var(--km-orange)}.todo.done{border-color:#cce4da;background:#f6faf8}.todo.done em{background:var(--km-done-soft);color:var(--km-done)}
.recognition-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 9px}.recognition-actions button{min-height:46px;border-radius:12px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:6px}.recognition-actions .ui-icon{width:19px;height:19px}.recognition-start{border:1px solid #d8cff4;background:var(--km-purple-soft);color:var(--km-purple)}.recognition-start.active{box-shadow:0 0 0 3px #7556d51b}.recognition-done{border:1px solid #b9dccf;background:var(--km-done-soft);color:var(--km-done)}.recognition-actions button:disabled{opacity:.42;filter:saturate(.45)}.voice-center [data-record]{background:var(--km-purple)}.voice-center [data-stop]:not(:disabled){border-color:#efc8ce;background:var(--km-danger-soft);color:var(--km-danger)}.job-current-row{display:flex;align-items:center;justify-content:space-between;margin:2px 0 8px}
@media(max-width:430px){.recognition-actions{grid-template-columns:1fr}.recognition-actions button{min-height:44px}}

/* v1.8 visible completion, focused controls and searchable voice company picker */
.home-visit{display:grid;gap:0;border-radius:19px;overflow:hidden}.home-visit .visit{border-radius:19px}.home-visit-status{width:max-content;margin-top:5px;padding:4px 8px;border-radius:999px;background:var(--km-orange-soft);color:var(--km-orange);font-size:10px;font-style:normal;font-weight:850}.home-visit.done{border:1px solid #b9dfca;background:var(--km-done-soft);box-shadow:0 5px 16px #276f4b10}.home-visit.done .visit{border:0;border-radius:18px 18px 0 0;background:var(--km-done-soft)}.home-visit.done .time.schedule{background:#d9f3e4!important;color:var(--km-done)!important}.home-visit.done .visit>div:nth-child(2)>b{color:var(--km-done)}.home-visit.done .home-visit-status{background:var(--km-done);color:#fff}.home-visit-restore{min-height:40px;border:0;border-top:1px solid #c9e6d6;background:#f5fcf8;color:var(--km-done);font-weight:850}.quick button>span.quick-plus{font-size:31px;font-weight:400;line-height:1}.company-mark.placeholder{font-size:25px;font-weight:900}.search input[type="search"]::-webkit-search-cancel-button,.voice-company-search input[type="search"]::-webkit-search-cancel-button,.company-menu input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}.search-clear,.company-filter-clear{width:30px;height:30px;flex:none;border:0;border-radius:50%;background:#edf2f8;color:#60738b;font-size:21px;line-height:1;display:grid;place-items:center}.search-clear[hidden],.company-filter-clear[hidden]{display:none}
.voice-company-picker{width:min(100%,420px);display:grid;gap:8px;margin:0 auto 13px;text-align:left}.voice-company-picker>label{display:grid;gap:7px;color:#3b506a;font-weight:800}.voice-company-search{height:49px;border:1px solid #aebed2;border-radius:14px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 11px}.voice-company-search:focus-within{border-color:var(--km-purple);box-shadow:0 0 0 3px #7556d514}.voice-company-search>.ui-icon{width:20px;height:20px;color:#7c8da3;flex:none}.voice-company-search input{height:45px!important;min-width:0;flex:1;border:0!important;background:transparent!important;outline:0;padding:0!important;font:inherit}.voice-company-search button{width:29px;height:29px;flex:none;border:0;border-radius:50%;background:#eef2f7;color:#5f7188;font-size:20px;display:grid;place-items:center}.voice-company-search button[hidden]{display:none}.voice-company-results{display:grid;gap:6px;max-height:214px;overflow:auto;padding-right:2px}.voice-company-results>button{width:100%;min-height:58px;border:1px solid #dce5ef;border-radius:14px;background:#fff;display:flex;align-items:center;gap:9px;padding:9px 11px;text-align:left;color:#20344f}.voice-company-results>button.selected{border-color:var(--km-purple);background:var(--km-purple-soft);box-shadow:0 0 0 2px #7556d510}.voice-company-results>button>span:first-child{width:38px;height:38px;border-radius:12px;background:#e9f2ff;color:#246edb;font-weight:900;display:grid;place-items:center;flex:none}.voice-company-results>button>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column}.voice-company-results small{color:#7d8da1;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-company-results em{font-style:normal;border-radius:999px;background:var(--km-purple);color:#fff;padding:5px 8px;font-size:10px;font-weight:850}.voice-company-results .ui-icon{width:17px;height:17px;color:#9aa7b6}.recognition-done.ready{border-color:var(--km-done);box-shadow:0 0 0 3px #16806a18;position:relative}.voice-help b{color:var(--km-done)}
@media(max-width:430px){.quick button>span.quick-plus{font-size:29px}.voice-company-results{max-height:184px}}

/* v1.9 compact status cards: received blue, planned orange, completed green */
.status-received{--state-color:var(--km-blue);--state-soft:var(--km-blue-soft);--state-border:#c7dcfa}.status-planned{--state-color:var(--km-orange);--state-soft:var(--km-orange-soft);--state-border:#efd0a7}.status-done{--state-color:var(--km-done);--state-soft:var(--km-done-soft);--state-border:#bfe2cf}
.home-visit.status-received,.home-visit.status-planned,.home-visit.status-done{border:1px solid var(--state-border);background:var(--state-soft);box-shadow:0 4px 14px #3155790c}.home-visit.status-received .visit,.home-visit.status-planned .visit,.home-visit.status-done .visit{min-height:94px;padding:10px 12px;border:0;border-radius:17px 17px 0 0;background:var(--state-soft)}.home-visit .visit>div:nth-child(2){min-width:0;flex:1}.home-visit .visit>div:nth-child(2)>b,.home-visit .visit>div:nth-child(2)>small,.home-visit .visit p{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-visit.status-received .time,.home-visit.status-planned .time,.home-visit.status-done .time{width:58px;height:58px;background:color-mix(in srgb,var(--state-color) 10%,white)!important;color:var(--state-color)!important}.home-visit-status{width:58px;height:22px;margin-top:3px;padding:0;border-radius:999px;background:var(--state-color);color:#fff;display:grid;place-items:center;font-size:9px;line-height:1;white-space:nowrap}.home-visit-restore{height:34px;min-height:34px;border-top:1px solid var(--state-border);background:color-mix(in srgb,var(--state-soft) 55%,white);color:var(--state-color);font-size:11px;line-height:1;font-weight:850}
.schedule-job.status-received,.schedule-job.status-planned,.schedule-job.status-done{border-color:var(--state-border);background:var(--state-soft);box-shadow:0 4px 14px #3155790c}.schedule-job.status-received .schedule-job-main,.schedule-job.status-planned .schedule-job-main,.schedule-job.status-done .schedule-job-main{min-height:92px;padding:10px 12px;background:var(--state-soft)}.schedule-job.status-received .schedule-job-time,.schedule-job.status-planned .schedule-job-time,.schedule-job.status-done .schedule-job-time{width:58px;height:58px;background:color-mix(in srgb,var(--state-color) 10%,white);color:var(--state-color)}.schedule-job.status-received .schedule-job-main em,.schedule-job.status-planned .schedule-job-main em,.schedule-job.status-done .schedule-job-main em{width:58px;height:22px;padding:0;background:var(--state-color);color:#fff;display:grid;place-items:center;border-radius:999px;font-size:9px;line-height:1;white-space:nowrap}.schedule-job.status-received .schedule-status-button,.schedule-job.status-planned .schedule-status-button,.schedule-job.status-done .schedule-status-button{height:34px;min-height:34px;border-color:var(--state-border);background:color-mix(in srgb,var(--state-soft) 55%,white);color:var(--state-color);font-size:11px;line-height:1}.schedule-job.status-done .schedule-job-main>span:nth-child(2)>b{text-decoration:line-through;color:#71887d}.schedule-job-main>span:nth-child(2)>b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}
.recent-row.status-received,.recent-row.status-planned,.recent-row.status-done{min-height:70px;padding:10px 12px;border-color:var(--state-border);background:var(--state-soft)}.recent-row.status-received .recent-icon,.recent-row.status-planned .recent-icon,.recent-row.status-done .recent-icon{width:44px;height:44px;background:color-mix(in srgb,var(--state-color) 10%,white);color:var(--state-color)}.recent-row>span:nth-child(2){min-width:0}.recent-row>span:nth-child(2)>b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-row.status-received small,.recent-row.status-planned small,.recent-row.status-done small{display:flex;align-items:center;gap:7px;color:#7a8ba0}.recent-row small em{width:58px;height:21px;border-radius:999px;background:var(--state-color);color:#fff;display:grid;place-items:center;flex:none;font-size:9px;font-style:normal;font-weight:850;line-height:1}.recent-row small span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-work-tone="received"] .work-hero{border-color:#c7dcfa;background:linear-gradient(145deg,var(--km-blue-soft),#fbfdff)}body[data-work-tone="received"] .work-hero>span{background:var(--km-blue)}body[data-work-tone="received"] .work-hero p,body[data-work-tone="received"] .work-facts .ui-icon{color:var(--km-blue)}body[data-work-tone="planned"] .work-hero{border-color:#efd0a7;background:linear-gradient(145deg,var(--km-orange-soft),#fffdf9)}body[data-work-tone="planned"] .work-hero>span{background:var(--km-orange)}body[data-work-tone="planned"] .work-hero p,body[data-work-tone="planned"] .work-facts .ui-icon{color:var(--km-orange)}body[data-work-tone="done"] .work-hero{border-color:#bfe2cf;background:linear-gradient(145deg,var(--km-done-soft),#fbfefc)}body[data-work-tone="done"] .work-hero>span{background:var(--km-done)}body[data-work-tone="done"] .work-hero p,body[data-work-tone="done"] .work-facts .ui-icon{color:var(--km-done)}
@media(max-width:430px){.home-visit.status-received .visit,.home-visit.status-planned .visit,.home-visit.status-done .visit{min-height:90px;padding:9px 10px}.schedule-job.status-received .schedule-job-main,.schedule-job.status-planned .schedule-job-main,.schedule-job.status-done .schedule-job-main{min-height:88px;padding:9px 10px}.home-visit.status-received .time,.home-visit.status-planned .time,.home-visit.status-done .time,.schedule-job.status-received .schedule-job-time,.schedule-job.status-planned .schedule-job-time,.schedule-job.status-done .schedule-job-time{width:54px;height:54px}.recent-row.status-received,.recent-row.status-planned,.recent-row.status-done{min-height:66px}}
.home-visit.status-received .visit,.home-visit.status-planned .visit,.home-visit.status-done .visit{height:94px}.schedule-job.status-received .schedule-job-main,.schedule-job.status-planned .schedule-job-main,.schedule-job.status-done .schedule-job-main{height:92px}.schedule-job-main>span:nth-child(2)>small,.schedule-job-main>span:nth-child(2)>b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-job-main>span:nth-child(2)>b{display:block}.recent-row.status-received,.recent-row.status-planned,.recent-row.status-done{height:70px}
@media(max-width:430px){.home-visit.status-received .visit,.home-visit.status-planned .visit,.home-visit.status-done .visit{height:90px}.schedule-job.status-received .schedule-job-main,.schedule-job.status-planned .schedule-job-main,.schedule-job.status-done .schedule-job-main{height:88px}.recent-row.status-received,.recent-row.status-planned,.recent-row.status-done{height:66px}}

/* v2.0 stable scroll position and readable responsive work lists */
.home-visit.status-done .visit p{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:color-mix(in srgb,var(--km-done) 70%,transparent);color:#73877e}
.recent-row.status-received,.recent-row.status-planned,.recent-row.status-done{width:100%;max-width:100%;height:auto;min-height:72px;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;align-items:start;gap:10px;overflow:hidden}
.recent-row .recent-body{min-width:0;display:grid;gap:4px;text-align:left}
.recent-row .recent-body>b{max-width:100%;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}
.recent-row .recent-body small{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.recent-row .recent-body small span{min-width:0;white-space:normal;overflow-wrap:anywhere}
.recent-action{margin:0;color:#53677f;font-size:11px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.recent-action strong{color:var(--state-color);font-weight:850}
.recent-next{align-self:center;display:grid;place-items:center}
.detail-list{width:100%;max-width:100%;min-width:0;max-height:min(62dvh,560px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:2px}
.detail-list>*{width:100%;max-width:100%;min-width:0}
.app-modal .modal-inner{max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.voice-company-example{margin:0;color:#7c8da2;font-size:10px;line-height:1.45;overflow-wrap:anywhere}
.voice-company-results{max-height:122px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
.voice-company-results>button{height:58px;min-height:58px}
@media(max-width:430px){.recent-row.status-received,.recent-row.status-planned,.recent-row.status-done{height:auto;min-height:70px;grid-template-columns:42px minmax(0,1fr) 17px;padding:10px}.voice-company-results{max-height:122px}.detail-list{max-height:60dvh}}

/* v2.1 readable schedule cards with treatment details */
.home-visit.status-received .visit,.home-visit.status-planned .visit,.home-visit.status-done .visit{width:100%;max-width:100%;height:auto;min-height:108px;display:grid;grid-template-columns:58px minmax(0,1fr) 18px;align-items:start;gap:12px;padding:12px;overflow:hidden;text-align:left}
.home-visit .visit>.time{align-self:start;flex:none}
.visit-body{min-width:0;max-width:100%;display:grid;gap:4px;text-align:left}
.visit-body>b,.visit-body>small,.visit-symptom,.visit-action{max-width:100%;min-width:0;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:break-word}
.visit-body>b{color:#0788ef;font-weight:850;line-height:1.35}
.visit-body>small{color:#7a8ba0;line-height:1.35}
.visit-symptom{color:#263d59;font-size:13px;line-height:1.45}
.visit-action{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px;color:#53677f;font-size:11px;line-height:1.45}
.visit-action>strong{color:var(--state-color);font-weight:850}
.visit-action>span{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.visit-next{align-self:center;display:grid;place-items:center;color:#9aa9ba}
.home-visit.status-done .visit-symptom{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:color-mix(in srgb,var(--km-done) 70%,transparent);color:#73877e}
.home-visit.status-done .visit-action{text-decoration:none;color:#536f63}
.schedule-job.status-received .schedule-job-main,.schedule-job.status-planned .schedule-job-main,.schedule-job.status-done .schedule-job-main{width:100%;max-width:100%;height:auto;min-height:108px;grid-template-columns:58px minmax(0,1fr) 18px;align-items:start;gap:12px;padding:12px;overflow:hidden}
.schedule-job-body{min-width:0;max-width:100%;display:grid!important;gap:4px}
.schedule-job-body>small,.schedule-job-body>b,.schedule-job-action{max-width:100%;min-width:0;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:break-word}
.schedule-job-body>small{line-height:1.35}
.schedule-job-body>b{display:block!important;line-height:1.45}
.schedule-job-action{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px;color:#53677f;font-size:11px;line-height:1.45}
.schedule-job-action>strong{color:var(--state-color);font-weight:850}
.schedule-job-action>span{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.schedule-job-next{align-self:center;display:grid;place-items:center;color:#9aa9ba}
.schedule-job.status-done .schedule-job-body>b{text-decoration:line-through;color:#71887d}
@media(max-width:430px){.home-visit.status-received .visit,.home-visit.status-planned .visit,.home-visit.status-done .visit,.schedule-job.status-received .schedule-job-main,.schedule-job.status-planned .schedule-job-main,.schedule-job.status-done .schedule-job-main{height:auto;min-height:104px;grid-template-columns:54px minmax(0,1fr) 17px;gap:10px;padding:10px}.visit-symptom,.schedule-job-body>b{font-size:12px}.visit-action,.schedule-job-action{font-size:10.5px}}

/* v2.2 voice command field separation */
.voice-detected span{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:left}

/* v2.3 quick treatment notes inside the work execution dialog */
.quick-action-editor{display:grid;gap:10px;border:1px solid #c9d9ed;border-radius:18px;background:linear-gradient(145deg,#f3f8ff,#fbfdff);padding:14px}
.quick-action-head{display:flex;align-items:center;gap:10px}.quick-action-head>span{width:38px;height:38px;border-radius:12px;background:var(--km-blue-soft);color:var(--km-blue);display:grid;place-items:center;flex:none}.quick-action-head .ui-icon{width:20px;height:20px}.quick-action-head>div{display:flex;min-width:0;flex-direction:column;gap:2px}.quick-action-head b{color:#17304f;font-size:14px}.quick-action-head small{color:#73859b;font-size:10px;line-height:1.4}
.quick-action-editor textarea{width:100%;min-height:92px;resize:vertical;border:1px solid #aebed2;border-radius:14px;background:#fff;padding:12px;color:#203751;font:inherit;font-size:13px;line-height:1.55;outline:0}.quick-action-editor textarea:focus{border-color:var(--km-blue);box-shadow:0 0 0 3px #1768df16}.quick-action-editor textarea::placeholder{color:#95a3b4}
.quick-action-presets{display:flex;flex-wrap:wrap;gap:6px}.quick-action-presets button{min-height:31px;border:1px solid #d1dfef;border-radius:999px;background:#fff;color:#45617f;padding:5px 9px;font-size:10px;font-weight:800;-webkit-tap-highlight-color:transparent}.quick-action-presets button:active{border-color:var(--km-blue);background:var(--km-blue-soft);color:var(--km-blue)}
.quick-action-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.quick-action-footer>small{color:#71849a;font-size:10px;line-height:1.45;overflow-wrap:anywhere}.quick-action-footer>small.dirty{color:#b56a12}.quick-action-footer button{min-height:41px;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px}.quick-action-footer .ui-icon{width:17px;height:17px}.quick-action-shortcut{color:#8b99aa;font-size:9px;text-align:right}
@media(max-width:430px){.work-actions{grid-template-columns:1fr 1fr}.work-actions button{min-height:44px;padding:8px 6px;font-size:10px}.quick-action-editor{padding:12px}.quick-action-footer{grid-template-columns:1fr}.quick-action-footer button{width:100%}.quick-action-shortcut{text-align:left}}

/* v2.4 calendar-first home, compact work cards and complete management controls */
.home-agenda{display:grid;gap:12px;margin:20px 0 22px}.home-agenda-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.home-agenda-head h2{margin:0;color:#112641;font-size:20px}.home-agenda-head small{display:block;margin-top:3px;color:#8191a5;font-size:11px}.home-agenda-head>button{min-height:38px;border:1px solid #cbd8e8;border-radius:12px;background:#fff;color:var(--km-blue);padding:7px 10px;display:flex;align-items:center;gap:5px;font-weight:850}.home-agenda-head .ui-icon{width:17px;height:17px}.home-calendar{width:100%;max-width:620px;margin:0 auto;padding:12px 14px;border-radius:20px}.home-calendar .month-toolbar{margin-bottom:6px}.home-calendar .month-days>span,.home-calendar .month-days>button{height:36px;min-height:36px;aspect-ratio:auto}.home-calendar .month-week{margin-bottom:2px}.home-calendar .month-legend{margin-top:7px}.home-day-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d6e3f2;border-radius:14px;background:#f5f9ff;padding:10px 12px}.home-day-summary b{color:#173251;font-size:13px}.home-day-summary span{color:#71849b;font-size:10px}.home-followups{display:grid;gap:8px}.home-followups>b{color:#233d5d;font-size:13px}
.schedule-job.status-received .schedule-job-main,.schedule-job.status-planned .schedule-job-main,.schedule-job.status-done .schedule-job-main{position:relative;height:auto;min-height:88px;grid-template-columns:54px minmax(0,1fr) 17px;align-items:center;gap:10px;padding:10px 11px;text-align:left}
.schedule-job-body{position:relative;min-width:0;display:grid!important;gap:4px;padding-right:58px}.job-identity{min-width:0;display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;line-height:1.3}.job-identity b{color:#0788ef;font-size:13px;font-weight:900}.job-identity small{color:#71849a;font-size:11px}.job-symptom{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px;color:#304762;font-size:12px;line-height:1.4}.job-symptom strong{color:var(--state-color);font-weight:900}.job-symptom span{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.schedule-job-action{margin-top:1px}.schedule-job-main>.job-status-badge{position:absolute;z-index:2;top:10px;right:34px;width:auto!important;min-width:51px;height:22px!important;padding:0 7px!important;background:var(--state-color)!important;color:#fff!important;display:grid!important;place-items:center;border-radius:999px;font-size:9px!important;font-style:normal;font-weight:850;line-height:1;white-space:nowrap}.schedule-job-main>.schedule-job-next{align-self:center}.schedule-job.status-done .job-symptom>span{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:#16806a88;color:#71877d}.schedule-status-button{height:33px!important;min-height:33px!important}.compact-work-list{display:grid;gap:9px}.compact-work-list .schedule-job-main{min-height:84px}.job-counters{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:9.5px;line-height:1.3}.job-counters>strong{color:var(--state-color);font-weight:900}.job-counters>span{border-radius:999px;background:color-mix(in srgb,var(--state-color) 10%,white);color:#536b82;padding:3px 6px}.counter-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.counter-fields label{display:grid;gap:6px;color:#405873;font-size:11px;font-weight:850}.counter-fields input{width:100%;min-height:46px;border:1px solid #aebed2;border-radius:12px;background:#fff;padding:9px 10px;color:#203751;font:inherit;outline:0}.counter-fields input:focus{border-color:var(--km-blue);box-shadow:0 0 0 3px #1768df16}
.company-hero{position:relative}.company-manage{position:absolute;top:13px;right:13px;display:flex;gap:6px}.company-manage button{min-height:34px;border:1px solid #c8d7e9;border-radius:11px;background:#fff;padding:6px 9px;color:#2768bd;font-size:10px;font-weight:850}.company-manage .company-delete{border-color:#efc8ce;background:#fff7f8;color:#cb4050}.delete-confirm-field{display:grid;gap:7px;margin:13px 0;color:#435a74;font-weight:850}.delete-confirm-field input{min-height:48px;border:1px solid #aebed2;border-radius:13px;padding:10px 12px;font:inherit}.address-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;margin-top:9px}.address-actions>button,.nav-picker>button{min-height:38px;border:1px solid #cbd9e9;border-radius:11px;background:#fff;color:#2e679f;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 9px;font-size:10px;font-weight:850}.address-actions .ui-icon{width:16px;height:16px}.nav-picker{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 36px}.nav-picker>.nav-primary{border-radius:11px 0 0 11px}.nav-picker>.nav-more{border-left:0;border-radius:0 11px 11px 0;padding:5px}.nav-more .ui-icon{transform:rotate(90deg)}.nav-menu{position:absolute;z-index:20;top:43px;right:0;width:160px;border:1px solid #d5e0ec;border-radius:12px;background:#fff;padding:5px;box-shadow:0 12px 28px #17355224}.nav-menu[hidden]{display:none}.nav-menu button{width:100%;min-height:38px;border:0;border-radius:8px;background:#fff;color:#314b68;text-align:left;padding:7px 9px;font-weight:800}.nav-menu button:hover{background:#eef5ff;color:var(--km-blue)}
.account-list article{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;position:relative;padding-bottom:45px}.account-actions{position:absolute;left:58px;bottom:9px;display:flex;gap:6px}.account-actions button{min-height:28px;border:1px solid #cfdaE8;border-radius:9px;background:#fff;color:#42607f;padding:4px 9px;font-size:9px;font-weight:850}.account-actions .danger{border-color:#efc9cf;color:#c83c4e}.account-actions button:disabled{opacity:.38}.company-inline-create{border-color:#bfd8fa!important;background:#f0f6ff!important;color:var(--km-blue)!important}.company-inline-create>span:first-child{font-size:22px!important}.schedule-quick-actions{display:flex;align-items:center;gap:6px}.clear-schedule-button{min-height:34px;border:1px solid #d1ddea;border-radius:10px;background:#fff;color:#6b7f96;padding:6px 8px;font-size:9px;font-weight:850}.field-label small{color:#8495aa;font-size:9px;font-weight:700}
@media(min-width:900px){.month-calendar{width:min(100%,680px);margin-left:auto;margin-right:auto;padding:14px 18px}.month-days>span,.month-days>button{height:44px;min-height:44px;aspect-ratio:auto}.home-calendar{width:min(100%,620px)}.home-calendar .month-days>span,.home-calendar .month-days>button{height:36px;min-height:36px}.home-agenda{border:1px solid #dbe5f0;border-radius:24px;background:#fff;padding:18px}.schedule-job-list{width:min(100%,760px);margin-left:auto;margin-right:auto}}
@media(max-width:560px){.home-agenda{margin-top:16px}.home-agenda-head{align-items:center}.home-calendar{padding:10px}.home-calendar .month-days>span,.home-calendar .month-days>button{height:32px;min-height:32px}.schedule-job.status-received .schedule-job-main,.schedule-job.status-planned .schedule-job-main,.schedule-job.status-done .schedule-job-main{min-height:84px;grid-template-columns:50px minmax(0,1fr) 16px;gap:8px;padding:9px}.schedule-job-body{padding-right:54px}.schedule-job-main>.job-status-badge{top:9px;right:30px}.job-identity b{font-size:12px}.job-identity small,.job-symptom{font-size:10.5px}.company-manage{position:static;grid-column:1/-1;margin-top:8px}.company-hero{display:grid}.address-actions{grid-column:1/-1}.counter-fields{grid-template-columns:1fr 1fr}}

/* v2.4.2 stable home calendar, complete company profile and aligned users */
.home-agenda-head>div{min-width:0}.home-agenda-head small{white-space:nowrap;line-height:1.3}.company-manage [data-edit-company]{position:static}.company-record{margin:12px 0 15px;border:1px solid #dce6f1;border-radius:20px;background:#fff;padding:15px;box-shadow:0 7px 22px #274a7408}.company-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.company-info-cell{min-width:0;border:1px solid #e4ebf3;border-radius:13px;background:#f8fafc;padding:10px 11px;display:flex;flex-direction:column;gap:4px}.company-info-cell.wide{grid-column:1/-1}.company-info-cell small{color:#7e8da1;font-size:10px}.company-info-cell b{color:#203650;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.company-phone-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.company-phone-actions button{min-height:40px;border:1px solid #c9d9eb;border-radius:11px;background:#f8fbff;color:#2768bc;display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:850}.company-phone-actions button:disabled{opacity:.4}.company-phone-actions .ui-icon{width:16px;height:16px}.trade-checks{display:flex;align-items:center;gap:9px;border:1px solid #dbe3ee;border-radius:13px;padding:11px 12px;background:#f8fafc}.trade-checks legend{padding:0 5px;color:#42536b;font-size:12px;font-weight:800}.trade-checks label{display:flex!important;grid-template-columns:auto auto!important;align-items:center;gap:6px;border:1px solid #d5e0ec;border-radius:10px;background:#fff;padding:8px 12px!important}.trade-checks input{width:18px!important;height:18px!important;margin:0}.user-card{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:14px!important}.user-card-body{min-width:0;display:flex!important;flex-direction:column!important;gap:9px}.user-identity{display:flex;min-width:0;flex-direction:column}.account-actions{position:static!important;display:flex!important;flex-direction:row!important;gap:6px!important}.account-actions button{min-height:31px!important;padding:5px 11px!important;font-size:10px!important}.user-toggle{justify-self:end;white-space:nowrap}.user-toggle span{min-width:35px}.account-list article{padding-bottom:14px!important}
@media(max-width:560px){.home-agenda-head{gap:7px}.home-agenda-head h2{font-size:18px}.home-agenda-head small{font-size:9px;letter-spacing:-.04em}.home-agenda-head>button{padding:6px 8px;font-size:10px;flex:none}.company-record-grid{grid-template-columns:1fr 1fr}.company-phone-actions{grid-template-columns:1fr}.user-card{grid-template-columns:42px minmax(0,1fr)!important}.user-toggle{grid-column:1/-1;justify-self:stretch;justify-content:flex-end;border-top:1px solid #edf1f5;padding-top:10px}.account-actions{flex-wrap:wrap!important}}

/* v2.5 navigation, company trade status and compact schedule controls */
.schedule-quick-actions{display:grid!important;grid-template-columns:repeat(2,minmax(76px,1fr));align-items:center;gap:6px}
.schedule-quick-actions .now-button,.schedule-quick-actions .clear-schedule-button{width:100%;min-width:76px;min-height:36px;border-radius:10px;padding:6px 10px;font-size:10px;font-weight:850;justify-content:center}
.trade-status{display:flex;flex-wrap:wrap;gap:6px}.trade-status span{min-width:58px;border:1px solid #d7e0eb;border-radius:9px;background:#fff;color:#8795a7;padding:6px 9px;text-align:center;font-size:11px;font-weight:850}.trade-status span.active{border-color:#a9caf4;background:#eaf3ff;color:#1768df;box-shadow:0 0 0 2px #1768df0d}
.device-empty-state::before{display:none!important}.device-empty-state{isolation:isolate}
.record-state.ended i{background:#7c8da3!important;box-shadow:none!important}.record-state.ended b{color:#405571}
@media(max-width:390px){.home-agenda-head small{font-size:8px}.home-agenda-head>button{font-size:9px}}

/* v2.6 stable in-place interactions and compact aligned information */
.device-empty-state{font-size:0!important}.device-empty-state>.ui-icon{width:34px;height:34px}.device-empty-state>b{font-size:15px}.device-empty-state>small{font-size:11px}
.company-record-grid{align-items:stretch}.company-info-cell{min-height:67px;justify-content:center}.company-trade-cell{min-height:67px}.company-trade-cell .trade-status{flex-wrap:nowrap}.company-trade-cell .trade-status span{min-width:0;flex:1;padding:5px 6px;font-size:10px}
.reminder-section>.field-line{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px}.reminder-section>.field-line>.field-label{white-space:nowrap;flex:none}.reminder-section>.field-line>small{min-width:0;line-height:1.35}.reminder-custom>span{min-width:0}.reminder-custom>span small,.reminder-custom>span b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-agenda-head small{white-space:nowrap!important}
@media(max-width:430px){.company-info-cell,.company-trade-cell{min-height:63px;padding:8px 9px}.company-trade-cell .trade-status{gap:4px}.company-trade-cell .trade-status span{font-size:9px}.reminder-section>.field-line{grid-template-columns:auto minmax(0,1fr);column-gap:7px}.reminder-section>.field-line>small{font-size:9px}.reminder-custom>span small{font-size:10px}}

/* v3 native caller identification controls */
.caller-id-toggle,.caller-auto{position:relative;display:flex!important;flex-direction:row!important;align-items:center;gap:11px;border:1px solid #c8d9ed!important;border-radius:15px;background:#f4f8fe;padding:12px!important;cursor:pointer}.caller-id-toggle>input,.caller-auto>input{width:21px!important;height:21px!important;accent-color:var(--km-blue);flex:none}.caller-id-toggle>span:nth-of-type(1),.caller-auto>span:nth-of-type(1){width:40px;height:40px;border-radius:12px;background:#e4efff;color:var(--km-blue);display:grid;place-items:center;flex:none}.caller-id-toggle .ui-icon,.caller-auto .ui-icon{width:21px;height:21px}.caller-id-toggle>span:last-child,.caller-auto>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}.caller-id-toggle b,.caller-auto b{color:#1a314f;font-size:13px}.caller-id-toggle small,.caller-auto small{color:#71849a;font-size:10px;line-height:1.4}
.caller-status-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #d6e1ee;border-radius:20px;background:#fff;padding:16px;box-shadow:0 8px 24px #274a7409}.caller-status-card>span{width:54px;height:54px;border-radius:16px;background:#eef3f9;color:#6b7e95;display:grid;place-items:center}.caller-status-card .ui-icon{width:28px;height:28px}.caller-status-card>div{display:flex;min-width:0;flex-direction:column;gap:3px}.caller-status-card small{color:#7b8ca2;font-size:11px}.caller-status-card b{color:#18304e;font-size:17px}.caller-status-card em{min-width:44px;border-radius:999px;background:#e9eef5;color:#728198;padding:7px 9px;text-align:center;font-size:10px;font-style:normal;font-weight:900}.caller-status-card.enabled{border-color:#b8e2d0;background:#f3fcf8}.caller-status-card.enabled>span{background:#dff6ea;color:#168565}.caller-status-card.enabled em{background:#168b69;color:#fff}
.caller-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:11px 0}.caller-metrics>div{min-width:0;border:1px solid #dce5ef;border-radius:15px;background:#fff;padding:12px}.caller-metrics small{display:block;color:#7f8ea1;font-size:10px;margin-bottom:5px}.caller-metrics b{display:block;color:#203852;font-size:13px;overflow-wrap:anywhere}.caller-actions{display:grid;gap:9px;margin:12px 0}.caller-actions button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px}.caller-actions .ui-icon{width:19px;height:19px}.caller-note{border-radius:14px;background:#eef5ff;color:#55708f;padding:12px;font-size:10px;line-height:1.6}
@media(max-width:430px){.caller-metrics{grid-template-columns:1fr}.caller-status-card{grid-template-columns:46px minmax(0,1fr) auto;padding:13px}.caller-status-card>span{width:46px;height:46px}.caller-id-toggle small,.caller-auto small{font-size:9px}}

/* v3.1 cross-platform notifications, native Android alignment and responsive desktop */
.native-push-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.native-push-actions button{min-width:0}
.address-actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:520px}.address-actions>button{min-width:0;min-height:36px;padding:7px 8px}.address-actions>button b{font-size:10px;white-space:nowrap}.address-actions .tmap-button{border-color:#8bb4ed;background:#edf5ff;color:#1768df}.address-actions .naver-button{border-color:#9fd3b8;background:#f1faf5;color:#16865f}
.company-list{gap:8px}.company-list button{gap:10px;border-radius:15px;padding:10px 11px}.company-list button>span{width:38px;height:38px;border-radius:11px;font-size:13px}.company-list button>div>b{font-size:13px}.company-list small{font-size:10.5px}.company-list em{font-size:10px}.company-hero{border-radius:19px;padding:15px 16px;gap:11px}.company-hero>.avatar{width:48px;height:48px;border-radius:15px;font-size:20px}.company-hero h1{font-size:20px;margin:4px 0 1px}.company-hero p{font-size:11px;line-height:1.45}.company-hero>div>span{font-size:9px;padding:3px 7px}.company-record{padding:12px}.company-info-cell{min-height:58px;padding:8px 9px}.company-trade-cell{min-height:58px}.company-info-cell small{font-size:9px}.company-info-cell b{font-size:11px}

/* Android WebView: keep the login form and every screen on one clean viewport grid. */
.native-android body{width:100%;min-width:0;overflow-x:hidden;background:#f7f9fc}.native-android .login{min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;padding:20px 16px}.native-android .login-card{width:min(100%,410px);max-width:410px;margin:auto;padding:32px 24px;border-radius:28px}.native-android .login-card form{width:100%;gap:15px}.native-android .login-card .auth-field{width:100%;min-width:0}.native-android .login-card .auth-field>div{width:100%;height:56px;padding:0 14px}.native-android .login-card .auth-field input{width:100%;min-width:0;height:52px;font-size:16px;line-height:1.2}.native-android .login-card .remember{width:max-content;max-width:100%}.native-android .shell,.native-android .app{width:100%;max-width:100%;min-width:0}.native-android .content{width:100%;min-width:0}.native-android .app>header{width:100%}.native-android .app>nav{width:100%;max-width:100%}

@media(min-width:900px){
  .shell{width:100%;max-width:1360px;margin:0 auto;padding-left:28px;padding-right:28px}
  .app{max-width:1120px}
  .app>nav{max-width:1120px}
  .content{padding:28px 30px 40px}
  .home-agenda{width:100%;padding:20px 22px}
  .home-calendar{width:100%;max-width:none;margin-left:0;margin-right:0;padding:14px 18px}
  .home-calendar .month-days>span,.home-calendar .month-days>button{height:46px;min-height:46px;aspect-ratio:auto}
  .month-calendar:not(.home-calendar){width:min(100%,920px);padding:15px 20px}
  .month-calendar:not(.home-calendar) .month-days>span,.month-calendar:not(.home-calendar) .month-days>button{height:48px;min-height:48px;aspect-ratio:auto}
  .schedule-job-list{width:min(100%,920px)}
  .stats{gap:14px}.quick{gap:14px}
}
@media(max-width:560px){.native-push-actions{grid-template-columns:1fr}.address-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.address-actions>button{padding:6px 4px}.address-actions>button b{font-size:9px}.company-hero{padding:14px}.company-hero>.avatar{width:44px;height:44px;font-size:18px}.company-hero h1{font-size:18px}.company-hero p{font-size:10px}.company-record{padding:10px}.company-info-cell,.company-trade-cell{min-height:55px}}
@media(max-width:360px){.address-actions{grid-template-columns:1fr}.address-actions>button b{font-size:10px}}

/* v3.2 navigation picker, trade markers and one-tap completion */
.address-actions{grid-template-columns:auto minmax(0,1fr)}
.company-avatar-wrap{display:flex;align-items:center;gap:7px;align-self:start}
.company-avatar-wrap>.avatar{width:48px;height:48px;border-radius:15px;background:#eaf3ff;color:#1768df;display:grid;place-items:center;font-size:20px;font-weight:900;flex:none}
.hero-trades{display:grid;gap:4px}.hero-trade{min-width:34px;border-radius:999px;padding:3px 6px;text-align:center;font-size:8px;font-weight:900;line-height:1.2}.hero-trade.purchase{background:#fff1df;color:#bd6d12}.hero-trade.sales{background:#e7f7ef;color:#16805f}
.job-identity{align-items:center}.job-identity b{line-height:22px}.primary-device-label{display:inline-flex;align-items:center;min-height:22px;border:1px solid #a9caf4;border-radius:999px;background:#eaf3ff;color:#1768df!important;padding:2px 7px;font-size:9px!important;font-weight:850;line-height:1}
.job-state-meta{position:absolute;z-index:2;top:9px;right:32px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.job-state-meta>.job-status-badge{position:static!important;width:auto!important;min-width:51px;height:22px!important;padding:0 7px!important;background:var(--state-color)!important;color:#fff!important;display:grid!important;place-items:center;border-radius:999px;font-size:9px!important;font-style:normal;font-weight:850;line-height:1;white-space:nowrap}.completed-time{display:flex;align-items:center;gap:3px;border-radius:999px;background:#e4f5ed;color:#14745a;padding:3px 6px;font-size:8px;font-weight:850;white-space:nowrap}.completed-time .ui-icon{width:10px;height:10px}
.schedule-status-button{font-weight:900}.work-reopen{border-color:#efb9c1!important;background:#fff4f5!important;color:#c53b4c!important;font-weight:900!important}
@media(max-width:560px){.company-avatar-wrap>.avatar{width:44px;height:44px;font-size:18px}.hero-trades{gap:3px}.hero-trade{min-width:31px;padding:3px 5px}.primary-device-label{font-size:8px!important;padding:3px 6px}.completed-time{font-size:7.5px}}

@media(min-width:900px){
  .app{height:calc(100dvh - 72px);min-height:calc(100dvh - 72px);overflow:hidden}
  .content{height:calc(100% - 82px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:124px;scrollbar-gutter:stable}
  aside{height:calc(100dvh - 72px);min-height:0}
}

/* v3.2.2 aligned compact navigation and clearer company identity */
.address-actions{display:flex;align-items:stretch;justify-content:flex-start;gap:7px;width:100%;max-width:none}
.address-actions>button{flex:0 0 96px;width:96px;height:38px;min-height:38px;padding:7px 8px}
.address-actions>button>.ui-icon{color:#7b4fc6}
.address-actions .nav-picker{flex:0 0 132px;width:132px;height:38px;align-self:stretch}
.nav-picker>.nav-primary,.nav-picker>.nav-more{height:38px;min-height:38px}
.nav-picker>.nav-primary{padding:7px 8px;background:#edf5ff;color:#174f9d}
.nav-picker>.nav-primary>.ui-icon{color:#0c6d64}
.nav-picker>.nav-more{background:#f8fafc;color:#5d7088}
.company-avatar-wrap>.avatar{background:#1768df;color:#fff;border:1px solid #0e58c4;box-shadow:0 5px 13px #1768df2c}
.company-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
.hero-trades{width:76px;display:flex;align-items:center;justify-content:space-between;gap:5px}
.hero-trade{flex:0 0 auto;min-width:34px}
@media(max-width:430px){.address-actions>button{flex-basis:91px;width:91px}.address-actions .nav-picker{flex-basis:126px;width:126px}.hero-trades{width:71px}}

/* v3.3 strict responsive alignment and unified dashboard work cards */
.company-hero{display:grid!important;grid-template-columns:48px minmax(0,1fr) auto!important;grid-template-rows:auto auto auto;align-items:center!important;column-gap:11px!important;row-gap:12px}
.company-hero>.avatar{grid-column:1;grid-row:1;width:48px!important;height:48px!important;margin:0;align-self:center}
.company-hero>.company-info{grid-column:2;grid-row:1;min-width:0;align-self:center}
.company-info h1,.company-info p{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.company-hero>.hero-trades{grid-column:3;grid-row:1;width:auto;min-width:76px;justify-self:end;align-self:center;justify-content:flex-end;gap:5px}
.company-hero>.company-manage{position:static!important;grid-column:1/-1!important;grid-row:3;display:flex;justify-content:flex-start;margin:0!important}
.company-hero>.address-actions{grid-column:2/4!important;grid-row:2;min-width:0;margin:0;align-self:center}
.schedule-job-time{height:auto!important;min-height:68px!important;padding:6px 3px;align-content:center;gap:2px}
.schedule-job-time>small{display:block;max-width:54px;color:#71849a;font-size:7.5px;font-weight:750;line-height:1.2;text-align:center;white-space:normal}
.dashboard-task-card .schedule-job-time{gap:5px}.dashboard-task-card .native-check{width:21px;height:21px;accent-color:var(--km-orange)}
.unified-work-list{gap:10px}.unified-work-list .schedule-job{margin:0}.unified-work-list .schedule-job-main{width:100%}
@media(max-width:430px){
  .company-hero{grid-template-columns:44px minmax(0,1fr) auto!important;column-gap:9px!important;padding:14px!important}
  .company-hero>.avatar{width:44px!important;height:44px!important}
  .company-hero>.hero-trades{min-width:68px;gap:3px}
  .hero-trade{min-width:32px;padding:3px 5px}
  .company-hero>.address-actions{grid-column:1/-1!important;justify-content:flex-start}
}
@media(max-width:360px){
  .company-hero{grid-template-columns:42px minmax(0,1fr) 64px!important;column-gap:7px!important}
  .company-hero>.avatar{width:42px!important;height:42px!important}
  .company-hero>.hero-trades{min-width:64px}
  .hero-trade{min-width:30px;padding:3px 4px;font-size:7.5px}
}

/* v3.3.1 readable work details without completion-time overlap */
.schedule-job-time{height:58px!important;min-height:58px!important;padding:4px!important;gap:1px}
.dashboard-task-card .schedule-job-time{height:58px!important;min-height:58px!important}
.schedule-job-action{width:100%;max-width:100%;min-width:0}
.schedule-job-action>span{display:block;min-width:0;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
.job-identity .primary-device-label{max-width:min(100%,170px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.schedule-job-body>.completed-time{position:static;justify-self:end;display:inline-flex;max-width:100%;margin-top:2px;padding:4px 7px;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
.address-actions .nav-picker{flex-basis:152px;width:152px}
@media(max-width:430px){.address-actions .nav-picker{flex-basis:146px;width:146px}.job-identity .primary-device-label{max-width:120px}}

/* v3.3.2 compact completion stamp in the green status area */
.schedule-job-body{padding-right:0}
.schedule-job .job-identity{padding-right:58px}
.schedule-job.has-completion-stamp .job-identity{padding-right:164px}
.job-state-meta.has-completed-time>.job-status-badge{min-width:154px!important;width:auto!important;height:28px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px;padding:0 8px!important}
.job-state-meta.has-completed-time .ui-icon{width:13px;height:13px;flex:none}
.job-state-meta.has-completed-time span{min-width:0;white-space:nowrap;font-size:9px;font-weight:850}
.job-state-meta.has-completed-time b{margin-left:auto;border-left:1px solid #ffffff55;padding-left:6px;color:#fff;font-size:9px;white-space:nowrap}
@media(max-width:430px){
  .schedule-job.has-completion-stamp .job-identity{padding-right:151px}
  .job-state-meta.has-completed-time>.job-status-badge{min-width:142px!important;padding:0 7px!important;gap:4px}
  .job-state-meta.has-completed-time span,.job-state-meta.has-completed-time b{font-size:8px}
}

/* v3.3.3 remove unused completion-pill space and keep identity on one line */
.schedule-job.has-completion-stamp .job-identity{padding-right:116px;flex-wrap:nowrap!important}
.schedule-job.has-completion-stamp .job-identity>b{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.schedule-job.has-completion-stamp .job-identity .primary-device-label{flex:0 1 auto;max-width:92px}
.job-state-meta.has-completed-time>.job-status-badge{width:max-content!important;min-width:0!important;max-width:none;height:27px!important;gap:4px;padding:0 6px!important}
.job-state-meta.has-completed-time b{margin-left:0;padding-left:5px}
@media(max-width:430px){
  .schedule-job.has-completion-stamp .job-identity{padding-right:108px}
  .schedule-job.has-completion-stamp .job-identity .primary-device-label{max-width:86px}
  .job-state-meta.has-completed-time>.job-status-badge{width:max-content!important;min-width:0!important;padding:0 5px!important;gap:3px}
}

/* v3.3.4 keep the device badge immediately after the company name */
.schedule-job.has-completion-stamp .job-identity{justify-content:flex-start}
.schedule-job.has-completion-stamp .job-identity>b{flex:0 1 auto;max-width:62%}
.schedule-job.has-completion-stamp .job-identity .primary-device-label{flex:0 1 auto;margin-left:0;max-width:38%}
@media(max-width:430px){
  .schedule-job.has-completion-stamp .job-identity>b{max-width:58%}
  .schedule-job.has-completion-stamp .job-identity .primary-device-label{max-width:42%}
}

/* v3.3.5 home pull-to-refresh */
.pull-refresh{--pull:0px;height:0;display:flex;align-items:center;justify-content:center;gap:7px;color:#60738b;font-size:12px;font-weight:800;opacity:0;overflow:visible;transform:translateY(calc(var(--pull) - 48px));transition:opacity .12s ease,color .12s ease;pointer-events:none}
.pull-refresh.active{height:var(--pull);opacity:1;transform:translateY(0)}
.pull-refresh .ui-icon{width:18px;height:18px;transition:transform .18s ease}
.pull-refresh.ready{color:#1767dc}
.pull-refresh.ready .ui-icon{transform:rotate(180deg)}
.pull-refresh.refreshing{color:#16866e}
.pull-refresh.refreshing .ui-icon{animation:pull-refresh-spin .8s linear infinite}
@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.pull-refresh,.pull-refresh .ui-icon{transition:none}.pull-refresh.refreshing .ui-icon{animation:none}}

/* v3.4 native Android fixed alignment */
html.native-android{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.native-android .shell,.native-android .app,.native-android .content,.native-android .content>*{min-width:0;max-width:100%}
.native-android .content>*{width:100%}
.native-android .app>header,.native-android .app>nav{left:0;right:0;max-width:none;transform:none}
.native-android .app>header>div,.native-android .company-hero>*,.native-android .schedule-job-body,.native-android .job-identity{min-width:0}

/* v3.5 company tabs, rental details and strict work-card alignment */
.company-main-tabs{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:16px;overflow:hidden}
.company-main-tabs button{min-width:0;padding:7px 3px;gap:4px}
.company-main-tabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.company-main-tabs button em{position:static!important;margin:0!important}
.optional-fields{display:grid;gap:11px;margin:5px 0 3px;padding:14px;border:1px solid #dbe6f2;border-radius:16px;background:#f8fbff}
.optional-fields-title{display:flex;flex-direction:column;gap:3px;color:#203751}.optional-fields-title small{color:#7c8da2;font-size:10px;font-weight:650}
.password-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.password-field button{min-width:58px;border:1px solid #bdd0e7;border-radius:10px;background:#fff;color:#1768df;font-weight:850}
.device-contract-card{align-items:start}.device-card-body{min-width:0;width:100%}.device-contract-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}
.device-contract-summary>span{min-width:0;min-height:48px;border:1px solid #dce6f0;border-radius:11px;background:#f8fafc;padding:7px 9px;display:flex;flex-direction:column;justify-content:center;gap:2px}
.device-contract-summary small{color:#8290a2!important;font-size:9px!important}.device-contract-summary b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#203751;font-size:11px}
.address-actions .nav-picker{flex-basis:164px;width:164px}
.schedule-job-main{grid-template-columns:54px minmax(0,1fr) 17px!important}
.schedule-job-body{width:100%;min-width:0}.job-identity{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(88px,auto);align-items:center!important;gap:6px!important;padding-right:58px!important}
.job-identity>b{min-width:0;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;line-height:22px!important}
.job-identity .primary-device-label{justify-self:start;max-width:126px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.schedule-job.has-completion-stamp .job-identity{padding-right:116px!important}
@media(max-width:430px){.company-main-tabs{gap:4px;padding:4px}.company-main-tabs button{min-height:54px}.company-main-tabs button .ui-icon{width:17px;height:17px}.company-main-tabs button span{font-size:8.5px}.address-actions .nav-picker{flex-basis:156px;width:156px}.job-identity{grid-template-columns:minmax(0,1fr) minmax(74px,auto);padding-right:54px!important}.job-identity .primary-device-label{max-width:105px!important}.schedule-job.has-completion-stamp .job-identity{padding-right:108px!important}.optional-fields{padding:11px}.device-contract-summary{gap:5px}}
.native-android input,.native-android textarea,.native-android select,.native-android button{max-width:100%}
.native-android .stats>button,.native-android .quick>button,.native-android .company-list>button{min-width:0}
.native-android .company-info h1,.native-android .company-info p,.native-android .job-identity>b,.native-android .primary-device-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:430px){.native-android .content{padding-left:16px;padding-right:16px}.native-android .app>header{padding-left:16px;padding-right:16px}}

/* v3.6 RICOH / EPSON device monitoring */
.monitor-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.monitor-title .page-title{margin-bottom:0}.monitor-title>button{min-height:40px;display:flex;align-items:center;gap:5px;white-space:nowrap}.monitor-title .ui-icon{width:17px;height:17px}
.monitor-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:18px 0}.monitor-summary>button{min-width:0;border:1px solid #dae5f1;border-radius:16px;background:#fff;padding:12px;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:2px 8px;text-align:left;cursor:pointer;color:inherit}.monitor-summary>button:hover{border-color:#bfd7fa;background:#f8fbff}.monitor-summary>button.active{border-color:#9fc4f6;background:#f1f7ff;box-shadow:0 0 0 3px #e8f2ff}.monitor-summary>button>span{grid-row:1/3;width:32px;height:32px;border-radius:10px;background:#eaf3ff;color:#1768df;display:grid;place-items:center}.monitor-summary .ui-icon{width:17px;height:17px}.monitor-summary small{color:#7b8ca1;font-size:9px;font-weight:750}.monitor-summary b{color:#1d3551;font-size:18px}.monitor-summary b em{font-size:9px;font-style:normal;margin-left:2px}.monitor-summary .warn>span{background:#fff1df;color:#c97716}.monitor-summary .danger>span{background:#fff0f2;color:#bd3f4c}
.monitor-list{display:grid;gap:12px}.monitor-card{border:1px solid #dbe5ef;border-radius:19px;background:#fff;overflow:hidden;box-shadow:0 7px 20px #3155790b}.monitor-card.has-alert{border-color:#efc3c9}.monitor-card.just-collected{animation:monitorCollectedPulse 1.7s ease}@keyframes monitorCollectedPulse{0%,100%{box-shadow:0 7px 20px #3155790b}30%{box-shadow:0 0 0 4px #dcebff,0 8px 26px #1768df1f}}.monitor-card>header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px}.monitor-device-icon{width:44px;height:44px;border-radius:13px;background:#eaf3ff;color:#1768df;display:grid;place-items:center}.monitor-device-icon .ui-icon{width:22px;height:22px}.monitor-card>header>div{min-width:0;display:flex;flex-direction:column;gap:2px}.monitor-card>header small{color:#71849a;font-size:9px}.monitor-card>header b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#17314f;font-size:13px}.monitor-card>header em{color:#71849a;font-size:9px;font-style:normal}.monitor-online{border-radius:999px;background:#eef2f6;color:#738296;padding:5px 8px;font-size:8px;font-weight:850;white-space:nowrap}.monitor-online.online{background:#e5f6ee;color:#16805f}
.counter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 13px 12px}.counter-grid>span{min-width:0;border-radius:12px;background:#f5f8fc;padding:9px;display:flex;flex-direction:column;gap:3px}.counter-grid small{color:#8190a3;font-size:8px}.counter-grid b{overflow:hidden;text-overflow:ellipsis;color:#213a58;font-size:14px}.supply-list{display:grid;gap:8px;border-top:1px solid #e7edf4;padding:12px 13px}.supply-row{display:grid;grid-template-columns:minmax(110px,auto) minmax(80px,1fr);align-items:center;gap:10px}.supply-row>span{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:7px}.supply-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334c68;font-size:10px}.supply-row small{color:#60758e;font-size:9px;font-weight:850}.supply-row>i{height:7px;border-radius:999px;background:#e8eef5;overflow:hidden}.supply-row>i>em{display:block;height:100%;border-radius:inherit;background:#2b92e8}.supply-row.low>i>em{background:#e07a22}.supply-row.low small{color:#c55f16}.supply-empty{color:#7c8da2;font-size:10px;text-align:center;padding:5px}.monitor-alerts{display:grid;gap:5px;border-top:1px solid #f0d7db;background:#fff6f7;padding:10px 13px}.monitor-alerts span{display:flex;align-items:center;gap:5px;color:#af3544;font-size:10px;font-weight:750}.monitor-alerts .ui-icon{width:14px;height:14px}.monitor-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e7edf4;background:#fafbfd;padding:9px 13px}.monitor-card>footer>span{color:#7d8da1;font-size:9px}.monitor-card>footer button{border:0;background:transparent;color:#1768df;font-size:9px;font-weight:850}.agent-setup-card{margin-top:16px;border:1px solid #cfe0f4;border-radius:17px;background:#f5f9ff;padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px}.agent-setup-card>div{display:flex;align-items:center;gap:9px}.agent-setup-card>div>.ui-icon{width:24px;height:24px;color:#1768df}.agent-setup-card>div>span{display:flex;min-width:0;flex-direction:column;gap:2px}.agent-setup-card b{color:#203b5b;font-size:11px}.agent-setup-card small,.agent-setup-card p{color:#71849a;font-size:9px}.agent-setup-card p{grid-column:1/-1;margin:0}.device-network-fields{background:#f4f9ff;border-color:#c8dcf4}
@media(max-width:700px){.monitor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-card>header{grid-template-columns:40px minmax(0,1fr) auto}.monitor-device-icon{width:40px;height:40px}.agent-setup-card{grid-template-columns:1fr}.agent-setup-card>button{width:100%}}
@media(max-width:390px){.monitor-title{align-items:center}.monitor-title .page-title p{font-size:10px}.monitor-summary{gap:6px}.monitor-summary>button{padding:9px}.supply-row{grid-template-columns:1fr}.supply-row>span{justify-content:flex-start}.monitor-online{padding:4px 6px}}

/* v3.6.1 readable device details and aligned warranty field */
.device-card-open{width:100%;min-width:0;border:0;background:transparent;padding:0;color:inherit;text-align:left;cursor:pointer;display:block}.device-card-open:focus-visible{outline:3px solid #1768df2b;outline-offset:5px;border-radius:10px}.device-view-guide{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:7px;color:#1768df;font-size:9px;font-weight:850}.device-view-guide .ui-icon{width:13px;height:13px}.device-contract-card>.device-actions{align-self:center}
.optional-fields .form-row{align-items:stretch}.optional-fields .form-row>label{min-width:0;display:grid!important;grid-template-rows:auto 48px;align-content:start;gap:6px}.optional-fields .form-row>label>input,.optional-fields .form-row>label>select{width:100%;height:48px!important;min-height:48px!important;margin:0!important;align-self:end}.optional-fields input[type="date"]{appearance:auto;-webkit-appearance:auto}
.device-detail-head{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:13px;padding:14px;border:1px solid #cfe0f4;border-radius:17px;background:#f5f9ff}.device-detail-head>span{width:52px;height:52px;border-radius:15px;background:#1768df;color:#fff;display:grid;place-items:center}.device-detail-head .ui-icon{width:25px;height:25px}.device-detail-head>div{min-width:0}.device-detail-head small{color:#71849a;font-size:9px}.device-detail-head h3{margin:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173451;font-size:17px}.device-detail-head p{margin:0;color:#2871c6;font-size:10px;font-weight:800}.device-detail-section{margin-top:11px}.device-detail-section h4{margin:0 0 7px;color:#334c68;font-size:11px}.device-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.device-detail-cell{min-width:0;min-height:58px;border:1px solid #e0e8f1;border-radius:12px;background:#f9fbfd;padding:9px 10px;display:flex;flex-direction:column;justify-content:center;gap:3px}.device-detail-cell.wide{grid-column:1/-1}.device-detail-cell small{color:#8290a2;font-size:9px}.device-detail-cell b{overflow-wrap:anywhere;color:#203a57;font-size:11px;line-height:1.4}.device-detail-edit{width:100%;margin-top:14px}.device-detail-section:last-of-type .device-detail-cell:nth-last-child(n+5) b{font-variant-numeric:tabular-nums}
@media(max-width:430px){.device-view-guide{font-size:8px}.device-detail-grid{gap:6px}.device-detail-cell{min-height:55px;padding:8px}.optional-fields .form-row>label{grid-template-rows:auto 46px}.optional-fields .form-row>label>input,.optional-fields .form-row>label>select{height:46px!important;min-height:46px!important}}


/* v3.6.4 compact consumables + iPhone device-card containment */
.device-contract-card>.device-card-body{flex:1 1 auto;width:auto;min-width:0}
.device-contract-card>.device-actions{flex:0 0 auto;max-width:94px}
.device-meta{display:flex;align-items:center;gap:8px;min-width:0;margin-top:2px;flex-wrap:wrap}
.device-meta small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.device-meta em{margin:0!important;white-space:nowrap}
.consumable-panel{display:grid;gap:9px;border-top:1px solid #e7edf4;padding:12px 13px}
.consumable-row{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:9px}
.consumable-row>strong{color:#40566f;font-size:10px;white-space:nowrap}
.supply-color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.supply-cell{min-width:0;min-height:42px;border:1px solid #e2e8f0;border-radius:11px;background:#f7f9fc;padding:6px 4px;display:grid;place-items:center;align-content:center;gap:2px;font-variant-numeric:tabular-nums}
.supply-cell i{font-style:normal;font-size:8px;font-weight:900;line-height:1}
.supply-cell.supply-generic{grid-column:1/-1;grid-template-columns:auto auto;justify-content:start;place-items:center start;min-height:38px;padding:7px 12px;gap:8px;color:#40566f}.supply-cell.supply-generic i{border-radius:999px;background:#e7edf4;padding:3px 7px}.supply-cell.supply-generic b{font-size:12px}
.supply-cell b{font-size:13px;line-height:1.15;white-space:nowrap}
.supply-cell.tone-k{border-color:#d9dee5;background:#f3f4f6;color:#1d2430}
.supply-cell.tone-c{border-color:#bfe9f5;background:#effbfe;color:#087c9c}
.supply-cell.tone-y{border-color:#f0dfa2;background:#fffbea;color:#936f00}
.supply-cell.tone-m{border-color:#f0c6df;background:#fff2f9;color:#b42b77}
.supply-cell.low{box-shadow:inset 0 0 0 1px #e8812d}
.supply-cell.missing{border-style:dashed;background:#f8fafc;color:#97a3b2}
.supply-cell.missing b{font-size:9px;font-weight:800}
.waste-row{grid-template-columns:52px minmax(0,1fr)}
.waste-value{min-height:42px;border:1px solid #dce5ef;border-radius:11px;background:#f6f9fc;padding:6px 10px;display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}
.waste-value b{color:#344d68;font-size:13px}
.waste-value small{color:#8392a5;font-size:8px}
.waste-value.low{border-color:#efc391;background:#fff7ed}.waste-value.low b{color:#b75c10}
.waste-value.missing{border-style:dashed}.waste-value.missing b{font-size:10px;color:#8c99aa}
@media(max-width:430px){
  .device-contract-card{gap:9px;padding:12px}
  .device-contract-card>span{width:42px;height:42px}
  .device-contract-card>.device-actions{max-width:82px;gap:5px}
  .device-contract-card>.device-actions button{width:100%;padding:7px 8px}
  .device-meta{gap:6px}
  .consumable-row{grid-template-columns:46px minmax(0,1fr);gap:7px}
  .consumable-row>strong{font-size:9px}
  .supply-color-grid{gap:4px}
  .supply-cell{min-height:39px;padding:5px 2px}
  .supply-cell b{font-size:12px}
  .supply-cell.missing b{font-size:8px}
  .waste-row{grid-template-columns:46px minmax(0,1fr)}
}

/* v3.6.4 iOS: keep only device-edit native date controls inside their field bounds. */
.device-installed-date,.optional-fields,.optional-fields .form-row,.optional-fields .form-row>label{min-width:0;max-width:100%}
.device-installed-date{overflow:hidden}
.device-installed-date input[type="date"],.optional-fields input[type="date"]{
  -webkit-appearance:none!important;appearance:none!important;display:block!important;
  box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;
  height:48px!important;min-height:48px!important;margin:0!important;padding:0 12px!important;
  overflow:hidden!important;text-align:left!important;font-size:16px!important;line-height:48px!important
}
@media(max-width:430px){.device-installed-date input[type="date"],.optional-fields input[type="date"]{height:46px!important;min-height:46px!important;line-height:46px!important}}

/* v3.7 multi-vendor monitoring browser */
.monitor-browser{margin:0 0 14px;border:1px solid #dce6f0;border-radius:18px;background:#fff;padding:12px;box-shadow:0 6px 18px #31557908}
.monitor-search-row{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:9px;align-items:center}
.monitor-search{min-width:0;height:42px;border:1px solid #d6e1ec;border-radius:13px;background:#f8fafc;padding:0 10px;display:flex;align-items:center;gap:8px}
.monitor-search .ui-icon{width:17px;height:17px;color:#70849a;flex:0 0 auto}
.monitor-search input{min-width:0;width:100%;height:100%;border:0!important;background:transparent!important;outline:0;box-shadow:none!important;padding:0!important;font-size:12px;color:#243b55}
.monitor-search button{width:25px;height:25px;border:0;border-radius:999px;background:#e8eef5;color:#5c7189;font-size:16px;line-height:1;flex:0 0 auto}
.monitor-search-row select{height:42px;min-width:0;border:1px solid #d6e1ec;border-radius:13px;background:#fff;color:#304861;padding:0 32px 0 11px;font-size:11px;font-weight:750}
.monitor-filter-row{display:flex;align-items:center;gap:9px;min-width:0;margin-top:9px}
.monitor-filter-chips{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none}
.monitor-filter-chips::-webkit-scrollbar{display:none}
.monitor-filter-chips button,.monitor-group-actions button{border:1px solid #dce5ee;border-radius:999px;background:#fff;color:#667a91;padding:6px 10px;font-size:9px;font-weight:850;white-space:nowrap}
.monitor-filter-chips button.active{border-color:#bfd7fa;background:#eaf3ff;color:#1768df}
.monitor-filter-row>[data-monitor-result-count]{margin-left:auto;color:#7a8ca1;font-size:9px;font-weight:800;white-space:nowrap}
.monitor-group-actions{display:flex;gap:5px}
.monitor-groups{display:grid;gap:10px}
.monitor-company-group{border:1px solid #dbe5ef;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 7px 20px #31557908}
.monitor-company-group[hidden],.monitor-card[hidden]{display:none!important}
.monitor-company-group>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px 13px;user-select:none}
.monitor-company-group>summary::-webkit-details-marker{display:none}
.monitor-company-icon{width:38px;height:38px;border-radius:12px;background:#eef5fd;color:#2f6da8;display:grid;place-items:center}
.monitor-company-icon .ui-icon{width:19px;height:19px}
.monitor-company-title{min-width:0;display:flex;flex-direction:column;gap:2px}
.monitor-company-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1e3855;font-size:13px}
.monitor-company-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#798ca2;font-size:9px;font-weight:700}
.monitor-company-open{display:flex;align-items:center;gap:3px;color:#6e8298;font-size:9px;font-weight:850;white-space:nowrap}
.monitor-company-open .ui-icon{width:14px;height:14px;transition:transform .18s ease}
.monitor-company-group[open] .monitor-company-open .ui-icon{transform:rotate(90deg)}
.monitor-company-devices{border-top:1px solid #e7edf4;background:#f7f9fc;padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.monitor-company-devices .monitor-card{box-shadow:none}
@media(max-width:760px){
  .monitor-company-devices{grid-template-columns:1fr}
}
@media(max-width:520px){
  .monitor-browser{padding:10px}
  .monitor-search-row{grid-template-columns:1fr}
  .monitor-filter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .monitor-filter-chips{grid-column:1/-1}
  .monitor-filter-row>[data-monitor-result-count]{margin-left:0}
  .monitor-group-actions{justify-content:flex-end}
  .monitor-company-group>summary{grid-template-columns:36px minmax(0,1fr) auto;padding:11px}
  .monitor-company-icon{width:36px;height:36px}
  .monitor-company-open{font-size:0;gap:0}
  .monitor-company-open .ui-icon{width:16px;height:16px}
  .monitor-company-devices{padding:8px;gap:8px}
}

/* v3.8.1 modal UX polish ---------------------------------------------------
   - Keep the title/close control visible while long forms scroll.
   - Give AS/company/device forms a consistent card hierarchy.
   - Remove platform black tap/focus rectangles while keeping a rounded,
     keyboard-visible focus treatment. */
html{-webkit-tap-highlight-color:transparent}
:where(button,a,[role="button"],label,input,textarea,select){-webkit-tap-highlight-color:transparent}
:where(button,a,[role="button"],input,textarea,select):focus{outline:none}
:where(button,a,[role="button"]):focus-visible{outline:none!important;box-shadow:0 0 0 3px #1768df26!important}
:where(input,textarea,select):focus-visible{outline:none!important;border-color:#4d8be4!important;box-shadow:0 0 0 3px #1768df16!important}
:where(button,[role="button"]){transition:filter .12s ease,background-color .12s ease,border-color .12s ease,box-shadow .12s ease}
:where(button,[role="button"]):active{filter:brightness(.965)}

.app-modal{overflow:hidden!important;border-radius:26px!important;background:#f7f9fc}
.app-modal .modal-inner{max-height:min(92dvh,860px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 26px 26px!important;scroll-padding-top:98px;background:#f7f9fc}
.app-modal .modal-head{position:sticky!important;top:0;z-index:40;margin:0 -26px 18px!important;padding:19px 26px 16px!important;align-items:center!important;background:#fffffff4;border-bottom:1px solid #e5ebf2;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 24px #1e385c0a}
.app-modal .modal-head>div{display:grid;gap:2px;min-width:0}
.app-modal .modal-head h2{font-size:20px;line-height:1.25;color:#172c47}
.app-modal .modal-head p{margin:2px 0 0;line-height:1.45;max-width:390px;color:#7b899b}
.modal-kicker{font-size:9px;font-weight:900;letter-spacing:.11em;color:#1768df;text-transform:uppercase}
.app-modal .modal-head [data-close]{width:40px!important;height:40px!important;min-width:40px;border:1px solid #e0e7f0!important;border-radius:13px!important;background:#f4f7fb!important;color:#51647d;display:grid;place-items:center;font-size:0!important;box-shadow:0 3px 10px #29476f0b}
.app-modal .modal-head [data-close] span{font-size:25px;line-height:1;font-weight:400;transform:translateY(-1px)}
.app-modal .modal-head [data-close]:hover{background:#edf3fa!important;color:#234f87}

.polished-form{gap:14px!important}
.polished-form>label,.form-card>label,.optional-fields>label{gap:7px!important;color:#354a65!important;font-size:12px!important;font-weight:800!important}
.polished-form input,.polished-form textarea,.polished-form select{border:1px solid #cfdbe9!important;background:#fff!important;border-radius:13px!important;color:#172d49;box-shadow:0 2px 7px #27486f08}
.polished-form input:not([type="checkbox"]):not([type="radio"]),.polished-form select{min-height:48px!important}
.polished-form textarea{min-height:92px!important;line-height:1.55}
.polished-form>button.primary,.device-form-modal .polished-form>button.primary,.company-form-modal .polished-form>button.primary{width:100%;min-height:54px;border-radius:15px;font-size:15px;box-shadow:0 9px 22px #1967e826}

.form-card{display:grid;gap:12px;border:1px solid #e0e8f1;border-radius:19px;background:#fff;padding:15px;box-shadow:0 7px 22px #234a7608}
.form-card-primary{border-color:#d3e2f6;background:linear-gradient(150deg,#f7fbff,#fff 56%)}
.form-card-title{display:flex;align-items:center;gap:10px;padding-bottom:2px}
.form-card-title>span{width:39px;height:39px;border-radius:12px;background:#eaf3ff;color:#1768df;display:grid;place-items:center;flex:none}
.form-card-title>span .ui-icon{width:20px;height:20px}
.form-card-title>div{display:flex;min-width:0;flex-direction:column;gap:2px}
.form-card-title b{color:#1c3452;font-size:13px}
.form-card-title small{color:#8492a4;font-size:10px;line-height:1.4}
.favorite-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;border:1px solid #d9e4f0!important;background:#f8fbff;border-radius:14px;padding:11px 12px!important;cursor:pointer}
.favorite-toggle>input{width:20px!important;height:20px!important;accent-color:#1768df;flex:none}
.favorite-toggle>span:nth-of-type(1){width:38px;height:38px;border-radius:11px;background:#fff4d8;color:#c98614;display:grid;place-items:center;font-size:18px;flex:none}
.favorite-toggle>span:last-child{display:flex;flex-direction:column;gap:2px}
.favorite-toggle small{font-size:10px;color:#7b8ca0}

.company-form-modal .credential-fields,.device-form-modal .optional-fields{margin:0;padding:15px;border-radius:19px;border-color:#e0e8f1;background:#fff;box-shadow:0 7px 22px #234a7608}
.company-form-modal .credential-fields{border-color:#d9e6f5;background:linear-gradient(150deg,#f7fbff,#fff)}
.company-form-modal .credential-fields input[name="printerWebPassword"]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.015em}
.device-form-modal .catalog-section{border-radius:19px;padding:15px;background:linear-gradient(150deg,#eef6ff,#fbfdff);box-shadow:0 7px 22px #234a7608}
.device-form-modal .device-basic-card{margin:0}
.device-form-modal .optional-fields-title{padding-bottom:2px}
.device-form-modal .optional-fields-title b{font-size:13px}
.device-form-modal .optional-fields-title small{font-size:10px;line-height:1.4}

.intake-modal .form-section{gap:10px;border:1px solid #e0e8f1;border-radius:19px;background:#fff;padding:14px;box-shadow:0 7px 22px #234a7608}
.intake-modal .field-label{color:#213956!important;font-size:13px!important;font-weight:850!important}
.intake-modal .company-trigger,.intake-modal .date-field,.intake-modal .symptom-box{box-shadow:none}
.intake-modal .reminder-section{background:#fbfcfe}
.intake-modal .submit-area{border:0;background:transparent;box-shadow:none;padding:3px 0 0}
.intake-modal .intake-submit{min-height:54px;border-radius:15px;box-shadow:0 9px 22px #1967e826}
.intake-modal .form-row{gap:10px}

@media(max-width:560px){
  .app-modal{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;border-radius:23px!important}
  .app-modal .modal-inner{padding:0 16px 20px!important;max-height:calc(100dvh - 16px)!important}
  .app-modal .modal-head{margin:0 -16px 14px!important;padding:15px 16px 13px!important}
  .app-modal .modal-head h2{font-size:18px}
  .app-modal .modal-head p{font-size:11px}
  .app-modal .modal-head [data-close]{width:38px!important;height:38px!important;min-width:38px}
  .form-card,.company-form-modal .credential-fields,.device-form-modal .optional-fields,.device-form-modal .catalog-section{padding:13px;border-radius:17px}
  .intake-modal .form-section{padding:12px;border-radius:17px}
}


/* v3.8.2 content-list press feedback ----------------------------------------
   Only content cards/menu rows get a visible press state. The fixed bottom
   navigation (Home / Companies / Monitoring / More) is intentionally excluded. */
.content .company-list button[data-company],
.content .favorites button[data-company],
.content .settings button{
  transform:translateZ(0);
  transform-origin:center;
  transition:transform .10s ease,background-color .10s ease,border-color .10s ease,box-shadow .10s ease,filter .10s ease;
  will-change:transform;
}
.content .company-list button[data-company]:active,
.content .favorites button[data-company]:active,
.content .settings button:active,
.content .company-list button[data-company].content-pressed,
.content .favorites button[data-company].content-pressed,
.content .settings button.content-pressed{
  transform:scale(.985);
  filter:none;
}
.content .company-list button[data-company].content-pressed,
.content .company-list button[data-company]:active{
  background:#f5f9ff;
  border-color:#c8daef;
  box-shadow:0 3px 10px #2d5f9812,inset 0 0 0 1px #1768df0d;
}
.content .favorites button[data-company].content-pressed,
.content .favorites button[data-company]:active{
  background:#f5f9ff;
  border-color:#c8daef;
  box-shadow:0 3px 10px #2d5f9812;
}
.content .settings button.content-pressed,
.content .settings button:active{
  background:#f2f7fd;
  box-shadow:inset 3px 0 0 #1768df1f;
}
@media(prefers-reduced-motion:reduce){
  .content .company-list button[data-company],
  .content .favorites button[data-company],
  .content .settings button{transition:none}
}

/* v3.8.3 universal button press feedback ------------------------------------
   Apply the same tactile feedback across app buttons while deliberately
   excluding the fixed bottom navigation (.app > nav). */
:where(.content,.app>header,.app-modal,.login,aside) button:not(:disabled){
  transform-origin:center;
  transition:transform .10s ease,background-color .10s ease,border-color .10s ease,box-shadow .10s ease,filter .10s ease;
  -webkit-tap-highlight-color:transparent;
}
:where(.content,.app>header,.app-modal,.login,aside) button.km-pressed:not(:disabled){
  transform:scale(.985);
  filter:brightness(.985);
}
:where(.content,.app>header,.app-modal,.login,aside) button.km-pressed.primary:not(:disabled){
  box-shadow:0 3px 10px #1768df22;
}
:where(.content,.app>header,.app-modal,.login,aside) button.km-pressed.secondary:not(:disabled){
  background:#f2f6fb;
  border-color:#c8d7e8;
}
:where(.app>header,.app-modal) button.icon.km-pressed:not(:disabled),
.app-modal [data-close].km-pressed:not(:disabled){
  background:#e8eef6;
}
@media(prefers-reduced-motion:reduce){
  :where(.content,.app>header,.app-modal,.login,aside) button:not(:disabled){transition:none}
}


/* v4.0.1 login focus polish -------------------------------------------------
   The auth field owns the focus ring. Keep the transparent inner input from
   drawing a second left/right blue focus shadow inside the rounded field. */
.login-card .auth-field input:focus,
.login-card .auth-field input:focus-visible{
  outline:none!important;
  border:0!important;
  box-shadow:none!important;
}
.login-card .auth-field>div:focus-within{
  border-color:#2672df;
  box-shadow:0 0 0 3px rgba(28,104,218,.10);
}

/* v4.2.0 AS completion inventory ------------------------------------------- */
.completion-stock-guide{display:flex;align-items:flex-start;gap:11px;border:1px solid #dce9ff;background:#f6f9ff;border-radius:16px;padding:14px;margin-bottom:13px}.completion-stock-guide>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#eaf1ff;color:#1f6ee8}.completion-stock-guide>span svg{width:19px;height:19px}.completion-stock-guide b,.completion-stock-guide small{display:block}.completion-stock-guide b{font-size:14px}.completion-stock-guide small{font-size:12px;color:#718099;margin-top:4px;line-height:1.45}
.completion-stock-search{position:relative;display:block;margin-bottom:10px}.completion-stock-search>svg{position:absolute;left:13px;top:12px;width:18px;height:18px;color:#8b97aa;pointer-events:none}.completion-stock-search input{width:100%;border:1px solid #dfe5ee;border-radius:13px;background:#fff;padding:12px 13px 12px 40px;outline:0}.completion-stock-search input:focus{border-color:#88adf7;box-shadow:0 0 0 3px #edf4ff}
.completion-stock-form{display:grid;gap:12px}.completion-stock-list{display:grid;gap:8px;max-height:42vh;overflow:auto;overscroll-behavior:contain}.completion-stock-row{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:10px;align-items:center;padding:11px 12px;border:1px solid #e4e8ef;border-radius:14px;background:#fff}.completion-stock-row>span{min-width:0}.completion-stock-row b,.completion-stock-row small{display:block}.completion-stock-row b{font-size:13px;color:#23314a}.completion-stock-row small{font-size:11px;color:#8792a4;margin-top:3px;overflow-wrap:anywhere}.completion-stock-row input{width:76px;min-width:0;border:1px solid #dce2eb;border-radius:11px;padding:10px 7px;text-align:center;font-weight:800;outline:0;background:#f9fafc}.completion-stock-row input:focus{border-color:#88adf7;box-shadow:0 0 0 3px #edf4ff;background:#fff}.inventory-used-note{border-color:#d9eadf!important;background:#f6fbf8!important}.inventory-used-note small{color:#5f8170!important}
@media(max-width:390px){.completion-stock-row{grid-template-columns:minmax(0,1fr) 68px;padding:10px}.completion-stock-row input{width:68px}}


/* v4.2.1 secure material viewer + shortage-tolerant AS completion ------------ */
.completion-stock-row.stock-empty{border-color:#f0d5d9;background:#fff9fa}
.completion-stock-row.stock-empty small{color:#b14b58}
.completion-stock-row.will-shortage{border-color:#e9a8b1;background:#fff3f5;box-shadow:0 0 0 3px #fff0f2}
.completion-stock-row.will-shortage input{border-color:#dc7785;background:#fff}
.voice-file[data-view-voice]{cursor:pointer}
.voice-file[data-view-voice]:focus-visible{outline:0;box-shadow:0 0 0 3px #dceaff}
.material-viewer{border:0;padding:0;width:min(980px,calc(100vw - 24px));height:min(92dvh,900px);max-width:none;max-height:none;background:transparent;overflow:visible}
.material-viewer::backdrop{background:rgba(12,24,42,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.material-viewer-shell{height:100%;min-height:0;border-radius:26px;overflow:hidden;background:#f7f9fc;box-shadow:0 30px 100px rgba(4,17,37,.45);display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.material-viewer-head{display:flex;align-items:center;gap:14px;padding:17px 20px;border-bottom:1px solid #e1e8f1;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:2}
.material-viewer-head>div{min-width:0;flex:1}.material-viewer-head span{display:block;color:#1d6ce0;font-size:10px;font-weight:900;letter-spacing:.06em}.material-viewer-head h2{margin:3px 0 0;font-size:17px;line-height:1.35;color:#192c47;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-viewer-head p{margin:3px 0 0;color:#8491a3;font-size:11px}
.material-viewer-head button{width:42px;height:42px;min-width:42px;border:1px solid #dde5ef;border-radius:14px;background:#f4f7fb;color:#435772;font-size:26px;line-height:1;display:grid;place-items:center}
.material-viewer-body{min-height:0;overflow:auto;padding:16px;background:#edf2f8;display:grid;place-items:center}
.material-image-stage{width:100%;height:100%;min-height:240px;display:grid;place-items:center;overflow:auto;border-radius:18px;background:#152238}
.material-image-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.material-pdf-stage{width:100%;height:100%;min-height:360px;border-radius:18px;overflow:hidden;background:#fff;border:1px solid #d9e2ed}
.material-pdf-stage iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.material-document-stage{max-width:520px;text-align:center;background:#fff;border:1px solid #dde6f0;border-radius:22px;padding:34px 26px;color:#334760}
.material-document-stage>span{width:66px;height:66px;margin:0 auto 15px;border-radius:20px;background:#eaf2ff;color:#176be4;display:grid;place-items:center}.material-document-stage>span svg{width:30px;height:30px}.material-document-stage b{display:block;font-size:18px;color:#1c304d}.material-document-stage p{margin:9px 0 0;color:#78879a;font-size:13px;line-height:1.65}
.material-voice-stage{width:min(620px,100%);background:#fff;border:1px solid #dce6f1;border-radius:22px;padding:24px;display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center}
.material-voice-stage>span{width:58px;height:58px;border-radius:18px;background:#eee9ff;color:#7052d4;display:grid;place-items:center}.material-voice-stage>span svg{width:28px;height:28px}.material-voice-stage b{font-size:16px;color:#1f314b}.material-voice-stage p{margin:5px 0 0;color:#77879a;font-size:12px;line-height:1.6}.material-voice-stage audio{grid-column:1/-1;width:100%;margin-top:6px}
.material-viewer-actions{display:flex;justify-content:flex-end;gap:9px;padding:13px 18px max(13px,env(safe-area-inset-bottom));border-top:1px solid #e1e8f1;background:#fff}.material-viewer-actions a{text-decoration:none;display:inline-flex;align-items:center;gap:7px}.material-viewer-actions svg{width:17px;height:17px}
@media(max-width:640px){.material-viewer{width:calc(100vw - 12px);height:calc(100dvh - 12px)}.material-viewer-shell{border-radius:23px}.material-viewer-head{padding:14px 15px}.material-viewer-head h2{font-size:15px}.material-viewer-head button{width:40px;height:40px;min-width:40px}.material-viewer-body{padding:10px}.material-image-stage,.material-pdf-stage{border-radius:14px}.material-viewer-actions{padding-left:12px;padding-right:12px}.material-viewer-actions>*{flex:1;justify-content:center}.material-document-stage{padding:28px 20px}.material-voice-stage{grid-template-columns:50px minmax(0,1fr);padding:18px}.material-voice-stage>span{width:50px;height:50px;border-radius:16px}}
@media(max-width:640px){.material-viewer-head{padding-top:max(14px,env(safe-area-inset-top));padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right))}}
/* v4.4.4 informational printer notices (paper tray state is not a fault) */
.monitor-notices{display:grid;gap:5px;border-top:1px solid #e5eaf0;background:#f7f9fc;padding:10px 13px}.monitor-notices span{display:flex;align-items:center;gap:5px;color:#6f7f91;font-size:10px;font-weight:750}.monitor-notices .ui-icon{width:14px;height:14px}
.monitor-card>footer [data-monitor-collect]{margin-left:auto;border:1px solid #bfd6f2;border-radius:8px;background:#fff;padding:5px 8px}.monitor-card>footer [data-monitor-collect]:disabled{cursor:wait;opacity:.55}

/* v4.4.15 read-only device details + independent monitoring summary previews */
.device-detail-readonly-note{margin-top:14px;border:1px solid #cfe0f4;border-radius:14px;background:#f4f9ff;padding:11px 12px;display:flex;align-items:flex-start;gap:9px;color:#315c89}
.device-detail-readonly-note>.ui-icon{width:20px;height:20px;flex:0 0 auto;margin-top:1px}
.device-detail-readonly-note>span{display:flex;flex-direction:column;gap:2px;min-width:0}.device-detail-readonly-note b{font-size:11px;color:#254b75}.device-detail-readonly-note small{font-size:9px;line-height:1.5;color:#72869d}
.monitor-summary-modal{width:min(680px,calc(100% - 28px))!important}.monitor-preview-summary{display:flex;align-items:center;gap:11px;border:1px solid #d9e5f1;border-radius:17px;background:#fff;padding:12px 13px;margin-bottom:11px}.monitor-preview-summary>span{width:42px;height:42px;border-radius:13px;background:#eaf3ff;color:#1768df;display:grid;place-items:center;flex:0 0 auto}.monitor-preview-summary .ui-icon{width:21px;height:21px}.monitor-preview-summary>div{display:flex;flex-direction:column;gap:2px}.monitor-preview-summary small{color:#7d8ea2;font-size:9px;font-weight:800}.monitor-preview-summary b{color:#1e3855;font-size:19px}
.monitor-preview-list{display:grid;gap:9px}.monitor-preview-item{border:1px solid #dde6ef;border-radius:16px;background:#fff;overflow:hidden}.monitor-preview-item>header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 12px}.monitor-preview-icon{width:38px;height:38px;border-radius:12px;background:#eef5fd;color:#2f6da8;display:grid;place-items:center}.monitor-preview-icon .ui-icon{width:19px;height:19px}.monitor-preview-item>header>div{min-width:0;display:flex;flex-direction:column;gap:2px}.monitor-preview-item>header small{font-size:9px;color:#7b8da2}.monitor-preview-item>header b{font-size:12px;color:#203b59;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-preview-item>header em{font-size:9px;color:#7b8da2;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-preview-item>header button{border:1px solid #d7e3ef;border-radius:9px;background:#fff;color:#1768df;padding:7px 9px;font-size:9px;font-weight:850;white-space:nowrap}.monitor-preview-item>footer{border-top:1px solid #edf1f5;background:#fafbfd;padding:8px 12px;display:flex;align-items:center;gap:5px;color:#8391a3;font-size:9px}.monitor-preview-item>footer .ui-icon{width:13px;height:13px}
.monitor-preview-detail{border-top:1px solid #edf1f5;padding:10px 12px;display:flex;flex-wrap:wrap;gap:6px;background:#fbfcfe}.monitor-preview-chip{min-height:28px;border:1px solid #dce5ee;border-radius:999px;background:#fff;padding:5px 9px;display:inline-flex;align-items:center;gap:6px;font-size:9px;color:#536a82}.monitor-preview-chip b{font-size:9px;color:inherit}.monitor-preview-chip em{font-size:9px;font-style:normal;font-weight:900;color:#1f3855}.monitor-preview-chip.status.ok{border-color:#c9eadc;background:#edf9f4;color:#167257}.monitor-preview-chip.alert{border-color:#efcfd4;background:#fff5f6;color:#aa3947}.monitor-preview-chip.alert .ui-icon{width:13px;height:13px}.monitor-preview-chip.supply.tone-k{border-color:#d9dee5;background:#f3f4f6;color:#1d2430}.monitor-preview-chip.supply.tone-c{border-color:#bfe9f5;background:#effbfe;color:#087c9c}.monitor-preview-chip.supply.tone-y{border-color:#f0dfa2;background:#fffbea;color:#936f00}.monitor-preview-chip.supply.tone-m{border-color:#f0c6df;background:#fff2f9;color:#b42b77}
.monitor-preview-metrics{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.monitor-preview-metrics>span{border:1px solid #e0e8f1;border-radius:10px;background:#fff;padding:7px 9px;display:flex;flex-direction:column;gap:2px}.monitor-preview-metrics small{font-size:8px;color:#8290a2}.monitor-preview-metrics b{font-size:11px;color:#28435f;font-variant-numeric:tabular-nums}
@media(max-width:520px){.monitor-summary-modal{width:calc(100vw - 16px)!important}.monitor-preview-item>header{grid-template-columns:36px minmax(0,1fr) auto;padding:10px}.monitor-preview-icon{width:36px;height:36px}.monitor-preview-item>header button{padding:6px 7px}.monitor-preview-detail{padding:9px 10px}.monitor-preview-metrics{gap:4px}.monitor-preview-metrics>span{padding:6px 7px}}
