:root{color-scheme:only light}html{color-scheme:only light;background:#f6f8fb}
:root{--blue:#0755ab;--ink:#172840;--muted:#778398;--border:#e6ebf2;--bg:#f6f8fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none;color:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#fff;border-right:1px solid var(--border);padding:35px 22px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 38px}.brand img{width:92px;height:45px;object-fit:contain}.brand span{font-size:15px;font-weight:700;border-left:1px solid #dce2ea;padding-left:12px;white-space:nowrap}.side-label{font-size:10px;letter-spacing:1.6px;color:#98a3b3;font-weight:700;margin:12px 14px} .sidebar nav{display:grid;gap:7px}.sidebar nav a{display:flex;gap:13px;align-items:center;padding:13px 14px;border-radius:9px;color:#667386;font-weight:500}.sidebar nav a.active{background:#eaf2fc;color:var(--blue);font-weight:700}.sidebar nav a:hover{background:#f0f5fb}svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.side-bottom{margin-top:auto;padding:22px 12px 0;border-top:1px solid var(--border)}.side-bottom strong{font-size:12px}.side-bottom p{color:var(--muted);font-size:11px}.side-bottom small{display:block;font-size:9px;letter-spacing:1px;color:#a7b0bd;margin-top:27px}.shield{color:var(--blue);margin-right:8px}.shell{margin-left:240px}header{height:82px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 44px}.header-name{font-weight:700;font-size:15px}.badge{font-size:10px;color:#64758a;background:#f0f3f7;border:1px solid #e3e8ef;padding:4px 8px;border-radius:5px;margin-left:12px;font-weight:500}.header-right{display:flex;align-items:center;gap:8px;font-size:11px;color:#8090a2}.status-dot{width:6px;height:6px;background:#29a783;border-radius:50%}.avatar{margin-left:15px;width:32px;height:32px;border-radius:50%;background:#e9f1fa;display:grid;place-items:center;color:var(--blue);font-weight:800}main{max-width:1320px;margin:auto;padding:38px 44px 32px}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:700;color:#6e8baa}h1{font-size:29px;letter-spacing:-1.2px;margin:9px 0 10px}h2{font-size:19px;letter-spacing:-.5px;margin:0}p{line-height:1.8}.muted{color:var(--muted)}.hero{background:#eaf2fc;border:1px solid #dce8f7;border-radius:18px;padding:32px 36px;position:relative;overflow:hidden;min-height:211px;display:flex;align-items:center;justify-content:space-between}.hero h1{font-size:32px;line-height:1.45;color:#153f72;margin-bottom:12px}.hero p{color:#6a809c;font-size:13px;margin:0}.hero-art{width:210px;height:160px;position:relative;flex-shrink:0}.art-panel{background:#fff;border:1px solid #d9e6f6;border-radius:13px;position:absolute;box-shadow:0 14px 25px #3671ac12}.art-back{width:135px;height:108px;right:0;top:2px;transform:rotate(10deg);background:#dbe9f9}.art-front{width:145px;height:116px;left:16px;top:25px;transform:rotate(-7deg);padding:17px;color:var(--blue)}.art-front svg{width:30px;height:30px}.art-line{height:6px;border-radius:4px;background:#e4edf8;width:80px;margin-top:13px}.art-line.short{width:56px;margin-top:8px}.art-check{position:absolute;right:7px;bottom:6px;background:#0755ab;color:#fff;border:6px solid #eaf2fc;border-radius:50%;width:53px;height:53px;display:grid;place-items:center}.search{margin:24px 0 32px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dfe6ef;border-radius:11px;padding:15px 18px;color:#92a0b1;box-shadow:0 3px 8px #223a5603}.search input{border:0;background:none;min-width:0;flex:1;outline:none;color:var(--ink)}.search kbd{font-size:11px;border:1px solid #e3e8ef;padding:2px 6px;border-radius:4px;color:#9aa5b3}.section-head{display:flex;justify-content:space-between;align-items:center;margin:29px 0 17px}.section-head small{font-size:11px;color:#8b98a8}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{text-align:left;background:#fff;border:1px solid var(--border);border-radius:13px;padding:24px;position:relative;min-height:185px;transition:transform .16s,box-shadow .16s}.card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #1b41620d;border-color:#b4cce8}.card-top{display:flex;justify-content:space-between;align-items:center}.tile-icon{width:46px;height:46px;background:#edf4fe;border-radius:12px;color:var(--blue);display:grid;place-items:center}.tile-icon.teal{background:#eaf7f4;color:#218d7b}.tile-icon.violet{background:#f2effc;color:#8064bd}.tile-icon.orange{background:#fff4e9;color:#c48a3b}.tile-icon.slate{background:#edf2f6;color:#5c7c95}.card h3{font-size:17px;margin:19px 0 8px;letter-spacing:-.4px}.card p{font-size:12px;color:#8290a2;margin:0}.arrow{position:absolute;right:23px;bottom:25px;color:#a9b6c6}.tag{font-size:10px;border:1px solid #e5eaf1;color:#91a0b2;padding:3px 7px;border-radius:5px}.tag.live{color:#3979bf;background:#f2f7fd;border-color:#dce9f7}.bottom-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:19px;margin-top:26px}.panel{border:1px solid var(--border);background:#fff;border-radius:13px;padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h2{font-size:15px}.text-btn{border:0;background:none;color:var(--blue);font-size:11px;padding:5px}.empty-inline{display:flex;gap:15px;align-items:center;background:#f8fafc;padding:18px;border-radius:9px}.empty-inline svg{color:#a4b3c5;width:27px;height:27px}.empty-inline strong{font-size:12px;font-weight:500}.empty-inline p{font-size:11px;color:#93a0af;margin:4px 0 0}.notice{display:flex;gap:12px;font-size:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #f0f3f7}.notice:last-child{border:0;padding-bottom:0}.notice span{color:var(--blue);font-size:10px;background:#edf4fc;padding:2px 6px;border-radius:4px;white-space:nowrap}.notice p{margin:0;color:#63748a;font-size:12px}.notice small{color:#9aa5b4;font-size:10px}footer{max-width:1320px;margin:auto;padding:10px 44px 25px;color:#9ba6b4;font-size:10px;display:flex;justify-content:space-between}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.page-title p{margin:0;color:var(--muted);font-size:13px}.btn{background:var(--blue);color:white;border:0;border-radius:8px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500;font-size:12px}.btn.secondary{color:#526b88;background:#edf3fa}.btn.danger{background:#fff0f0;color:#bf4c4c}.btn:disabled{opacity:.45;cursor:not-allowed}.empty{padding:55px 20px;text-align:center}.empty .tile-icon{margin:0 auto 20px;width:60px;height:60px}.empty h2{font-size:18px}.empty p{font-size:13px;color:var(--muted);max-width:470px;margin:12px auto 24px}.hint{background:#edf4fc;border:1px solid #dbe8f8;padding:14px 18px;border-radius:9px;color:#567292;font-size:12px;line-height:1.8;margin:16px 0}.list{display:grid;gap:12px}.list-row{border:1px solid var(--border);border-radius:10px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:white}.list-row h3{margin:0 0 6px;font-size:14px}.list-row p{margin:0;font-size:11px;color:var(--muted)}.row-actions{display:flex;gap:7px;flex-shrink:0}.row-actions button{border:0;background:#f0f5fb;padding:8px;border-radius:6px;color:var(--blue)}dialog{border:1px solid #e3e9f1;border-radius:16px;padding:26px;width:min(520px,calc(100% - 30px));color:var(--ink);box-shadow:0 30px 100px #10253d25}dialog::backdrop{background:#14283c65;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.icon-btn{border:0;background:#f0f3f7;border-radius:50%;width:30px;height:30px;color:#728196}.field{display:grid;gap:8px;margin:16px 0;font-size:12px}.field input,.field select,textarea{border:1px solid #dce4ee;border-radius:8px;background:#fff;padding:12px;width:100%;color:var(--ink)}textarea{font:inherit;resize:vertical;min-height:145px}.field small{color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.network-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:20px 0}.metric{background:#fff;border:1px solid var(--border);padding:22px;border-radius:12px}.metric span{font-size:11px;color:var(--muted)}.metric strong{font-size:29px;display:block;margin:15px 0 5px}.metric small{font-size:11px;color:#91a0b0}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.translate-head{display:flex;gap:12px;align-items:center;margin-bottom:17px}.translate-head select{padding:10px;border:1px solid var(--border);border-radius:7px;background:#fff}.output{min-height:145px;background:#f6f8fb;border-radius:8px;padding:15px;color:#9aa5b4;line-height:1.8}.map-placeholder{min-height:285px;border-radius:11px;background-color:#f3f6f9;background-image:linear-gradient(90deg,#e4eaf1 1px,transparent 1px),linear-gradient(#e4eaf1 1px,transparent 1px);background-size:44px 44px;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px}.map-placeholder .panel{max-width:340px;box-shadow:0 7px 25px #2445680b}.map-placeholder p{font-size:12px;color:var(--muted)}.map-placeholder svg{color:var(--blue);width:34px;height:34px;margin-bottom:10px}.viewer{width:100%;height:65vh;border:1px solid var(--border);border-radius:9px;margin-top:18px}.back{border:0;background:none;color:var(--blue);padding:0;margin-bottom:18px;font-size:12px}.check-list{padding:0;list-style:none;margin:22px 0}.check-list li{padding:13px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;font-size:12px}.check-list span{color:#9aa6b6}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(80px);opacity:0;background:#1a3049;color:#fff;border-radius:9px;padding:14px 22px;font-size:12px;transition:.2s;z-index:20;max-width:90%;box-shadow:0 8px 30px #1232}#toast.show{transform:translateX(-50%) translateY(0);opacity:1}.mobile-logo{display:none}.search-empty{grid-column:1/-1;text-align:center;padding:40px;color:var(--muted)}@media(min-width:1500px){main{padding-top:46px}.hero{min-height:235px}.card{min-height:200px}}@media(max-width:1100px){.sidebar{width:208px;padding-inline:15px}.shell{margin-left:208px}main{padding:28px}header{padding:0 28px}.cards{grid-template-columns:repeat(2,1fr)}.hero-art{width:165px}.bottom-grid{grid-template-columns:1fr}.network-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.sidebar{position:static;width:100%;padding:17px 20px 0;border-right:0;border-bottom:1px solid var(--border)}.brand{padding:0 0 15px}.brand img{width:81px;height:37px}.side-label,.side-bottom{display:none} .sidebar nav{display:flex;overflow:auto;gap:3px;padding-bottom:10px}.sidebar nav a{white-space:nowrap;padding:10px;font-size:12px;gap:6px}.sidebar nav a svg{width:16px;height:16px}.shell{margin:0}header{height:54px;padding:0 21px}.header-name{font-size:12px}.header-right>span{display:none}.avatar{width:26px;height:26px;font-size:11px}.badge{font-size:9px;margin-left:6px}main{padding:23px 19px}.hero{padding:26px 23px;min-height:200px;border-radius:13px}.hero h1{font-size:25px}.hero p{font-size:11px;max-width:225px}.hero-art{display:none}.search{margin:18px 0 26px;padding:13px;font-size:12px}.search kbd{display:none}h1{font-size:24px}.section-head h2{font-size:17px}.section-head small{font-size:10px}.cards{gap:11px}.card{padding:18px 15px;min-height:177px}.tile-icon{width:40px;height:40px;border-radius:10px}.tag{font-size:8px;padding:3px 5px}.card h3{font-size:14px;margin-top:17px}.card p{font-size:10px;padding-right:12px;line-height:1.8}.arrow{right:12px;bottom:21px;width:15px}.panel{padding:20px}.bottom-grid{margin-top:19px;gap:13px}footer{padding:4px 20px 23px;font-size:9px}.split{grid-template-columns:1fr}.page-title{gap:15px;align-items:flex-start}.page-title p{font-size:11px}.btn{font-size:11px;padding:10px 12px}.network-grid{gap:10px}.metric{padding:17px}.list-row{flex-wrap:wrap}.row-actions{margin-left:auto}.empty{padding:35px 8px}.empty p{font-size:12px}}
.login-page{min-height:100vh;background:radial-gradient(ellipse at 10% 15%,#eaf2fc,transparent 55%),#f7f9fc;display:flex;flex-direction:column}.login-layout{width:min(1050px,100%);margin:auto;padding:60px 40px;display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.login-logo{width:150px;margin-bottom:65px}.login-intro h1{font-size:42px;line-height:1.5;color:#173e70;margin:18px 0}.login-intro>p{color:#7b8ba0;font-size:14px}.login-features{display:flex;gap:9px;margin-top:33px}.login-features span{background:#eaf1fa;color:#6381a3;border-radius:7px;padding:9px 11px;font-size:11px}.login-card{background:white;border:1px solid #e1e8f1;border-radius:20px;padding:42px;box-shadow:0 20px 65px #1b447010}.login-card>.badge{margin:0;display:inline-block;color:#0755ab;background:#eef5ff;border:0}.login-card h2{font-size:25px;margin:20px 0 10px}.login-card>p{font-size:12px}.login-card form{margin-top:29px}.login-card .field{margin:22px 0;font-weight:600}.password-wrap{position:relative}.password-wrap input{padding-right:55px}.password-wrap button{position:absolute;right:12px;top:13px;border:0;background:none;font-size:11px;color:#7c8da2}.login-submit{width:100%;padding:15px;margin-top:6px;font-size:14px}.login-help{text-align:center;margin:26px 0 0;line-height:1.9;color:#8b99aa}.form-error{font-size:12px;color:#ba4747;min-height:18px;line-height:1.7}.login-footer{margin:0 auto;padding:20px;justify-content:center}.account-bar{display:flex;align-items:center;gap:12px}.account-bar button{border:0;background:none;color:#617892;font-size:11px;padding:6px}.account-name{font-size:11px;color:#536a84}.account-form{max-width:500px}.user-table{width:100%;border-collapse:collapse}.user-table th,.user-table td{text-align:left;padding:16px 12px;border-bottom:1px solid var(--border);font-size:12px}.user-table th{color:#8391a4;font-size:11px}.table-wrap{overflow:auto}.account-role{font-size:10px;color:#0755ab;background:#edf4fc;border-radius:5px;padding:4px 7px;white-space:nowrap}@media(max-width:720px){.login-layout{grid-template-columns:1fr;gap:24px;padding:30px 22px;max-width:480px}.login-logo{width:105px;margin-bottom:18px}.login-intro h1{font-size:27px;margin:10px 0}.login-intro>p,.login-features{display:none}.login-card{padding:28px}.login-card h2{font-size:22px}.account-bar{gap:4px}.account-bar button{font-size:10px;padding:5px}.account-name{max-width:75px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.header-right .avatar{display:none}}
.crumbs{display:flex;gap:10px;align-items:center;margin:0 0 28px;font-size:11px;color:#8694a7}.crumbs a{color:#6482a5}.crumbs strong{color:#334b68;font-weight:500}.catalog-title{margin-bottom:28px}.catalog-title p,.device-heading p{font-size:13px;color:var(--muted)}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.category-card{background:white;border:1px solid var(--border);border-radius:16px;padding:30px;transition:.2s}.category-card:hover{border-color:#8fb4e1;transform:translateY(-3px)}.category-images{height:210px;display:flex;justify-content:center;gap:20px;padding:10px 30px;margin-bottom:25px}.device-photo{width:100%;height:100%;stroke:none;fill:none;overflow:hidden}.category-images svg{width:45%}.category-card h2{font-size:24px;margin:12px 0}.category-card h2 span{float:right;color:#9ab1ca}.category-card p{color:#43658c;font-size:14px}.category-card small{color:var(--muted);font-size:12px}.keypad-illustration{width:128px;height:174px;background:#edf1f7;border:1px solid #cad6e5;border-radius:14px;padding:17px;margin:17px auto 44px;box-shadow:4px 7px 0 #e2e9f3}.keypad-screen{height:32px;border:1px solid #bdd1df;background:#d5e8ed;border-radius:4px;margin-bottom:16px}.keypad-illustration>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.keypad-illustration i{height:16px;border-radius:3px;background:#fff;border:1px solid #d3deea}.catalog-local{display:flex;justify-content:space-between;padding:22px 4px;font-size:12px;color:#8b99aa}.catalog-local a{color:#49729f}.device-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.device-card{background:#fff;border:1px solid var(--border);border-radius:13px;overflow:hidden;transition:.2s}.device-card:hover{transform:translateY(-3px);border-color:#9bbade;box-shadow:0 8px 25px #183f6810}.device-card-picture{height:230px;padding:25px 22px;background:#fff}.device-card-text{border-top:1px solid #f0f3f7;padding:21px}.device-card h2{font-size:28px;margin:14px 0 7px}.device-card h2 span{float:right;font-size:17px;color:#9badc3}.device-card strong{font-size:11px;color:#537497;font-weight:500}.device-card p{font-size:11px;color:#91a0b2;margin-bottom:0}.device-heading{display:flex;justify-content:space-between;align-items:center}.device-heading h1{font-size:30px}.device-tabs{display:flex;gap:6px;border-bottom:1px solid #dfe6f0;margin:23px 0 26px;overflow:auto}.device-tabs a{white-space:nowrap;padding:14px 22px;color:#8695a7;font-weight:500;font-size:13px;border-bottom:3px solid transparent}.device-tabs a.selected{color:var(--blue);border-color:var(--blue);font-weight:700}.pg-intro{display:flex;align-items:center;justify-content:space-between;background:#eaf2fc;border:1px solid #d9e7f8;padding:25px 29px;border-radius:13px}.pg-intro h2{font-size:21px;margin:10px 0}.pg-intro p{color:#7187a2;font-size:12px;margin:0}.pg-count{font-size:36px;font-weight:800;color:#0755ab;text-align:right;padding-left:15px}.pg-count small{display:block;font-size:10px;font-weight:400;color:#6e85a1;margin-top:3px}.pg-entry{display:flex;gap:25px;align-items:center;border:1px solid var(--border);border-radius:10px;background:#fff;padding:18px 23px;margin:17px 0 24px}.pg-entry strong{white-space:nowrap;font-size:12px;color:#255b97}.pg-entry p{font-size:12px;color:#6e8097;margin:0}.pg-entry b{color:#1e466f;font-weight:600}.pg-toolbar{display:flex;gap:20px;align-items:center;margin-bottom:18px}.target-tabs{display:flex;gap:4px;background:#e9eef5;padding:4px;border-radius:9px;flex-shrink:0}.target-tabs button{border:0;background:none;border-radius:6px;padding:10px 14px;color:#8090a5;font-size:12px}.target-tabs button.on{background:#fff;color:var(--blue);box-shadow:0 2px 5px #173d6510;font-weight:700}.pg-toolbar .search{flex:1;margin:0;padding:12px;font-size:12px}.pg-chips{display:flex;gap:7px;overflow:auto;padding-bottom:5px}.pg-chips[hidden]{display:none}.pg-chips button{white-space:nowrap;background:#fff;color:#8392a5;border:1px solid #e0e7f0;border-radius:20px;font-size:11px;padding:8px 15px}.pg-chips button.on{background:#0755ab;color:white;border-color:#0755ab}.pg-results-head{display:flex;justify-content:space-between;font-size:10px;color:#98a4b5;margin:19px 3px 12px}.pg-item{background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:9px;overflow:hidden}.pg-item summary{display:flex;gap:17px;align-items:center;list-style:none;padding:17px 20px;cursor:pointer}.pg-item summary::-webkit-details-marker{display:none}.pg-code{display:grid;place-items:center;background:#eaf2fd;color:#0755ab;min-width:47px;height:45px;border-radius:8px;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.pg-code.risky{background:#fff2ee;color:#bf6946}.pg-title{flex:1;font-size:13px;font-weight:600}.pg-title small{display:block;font-size:10px;color:#9aa6b6;font-weight:400;margin-top:6px}.pg-default{font-size:10px;color:#9aa6b5;text-align:right}.pg-default b{display:block;color:#657c97;font-size:12px;font-weight:500;margin-top:5px;max-width:145px;overflow-wrap:anywhere}.pg-chevron{color:#9aacc1;margin-left:8px}.pg-item[open]{border-color:#b9cfea}.pg-item[open] .pg-chevron{transform:rotate(180deg)}.pg-detail{background:#f9fbfe;border-top:1px solid #edf1f6;padding:20px 24px 20px 84px}.pg-detail dl{margin:0}.pg-detail dl>div{display:flex;gap:20px;font-size:12px;padding:7px 0}.pg-detail dt{width:65px;flex-shrink:0;color:#94a1b2}.pg-detail dd{margin:0;color:#4c6686;line-height:1.8}.pg-detail p{color:#687d97;font-size:12px;border-top:1px solid #e8eef6;padding-top:14px;line-height:1.9}.pg-warning{background:#fff1ec;color:#a35c40;padding:12px;border-radius:7px;font-size:12px;margin-bottom:12px}.source-note{font-size:10px;color:#98a4b4;line-height:1.9;margin-top:23px}.source-note a{color:#0755ab;text-decoration:underline}.device-info{background:#fff;border:1px solid var(--border);border-radius:14px;padding:35px;display:grid;grid-template-columns:260px 1fr;gap:40px}.device-info-picture{height:340px;padding:0 15px}.device-info h2{font-size:26px;margin:13px 0}.device-info p{font-size:12px}.specs>div{display:grid;grid-template-columns:85px 1fr;gap:15px;border-bottom:1px solid #edf1f6;padding:14px 0;font-size:12px}.specs dt{color:#8797aa}.specs dd{margin:0;line-height:1.8;color:#4d6684}.peripheral-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.peripheral-card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:23px;display:flex;flex-direction:column}.peripheral-picture{height:170px;padding:14px 10px;margin-bottom:22px}.peripheral-card h2{font-size:23px;margin:9px 0}.peripheral-card ul{padding-left:17px;color:#6e829c;font-size:12px;line-height:2}.peripheral-note{background:#f5f8fc;border-radius:8px;padding:13px;color:#8191a6;font-size:10px;line-height:1.9;margin-top:auto}.manual-download-panel{background:white;border:1px solid var(--border);border-radius:13px;padding:30px}.manual-download-panel h2{margin:14px 0;font-size:24px}.manual-download-panel p{font-size:12px;color:#8191a7}.manual-actions{display:flex;gap:12px;margin-top:25px}@media(max-width:1100px){.device-grid{grid-template-columns:repeat(2,1fr)}.peripheral-grid{grid-template-columns:1fr}.peripheral-picture{height:200px}.device-info{grid-template-columns:190px 1fr;gap:25px}.pg-toolbar{flex-direction:column;align-items:stretch;gap:12px}}@media(max-width:720px){.crumbs{margin-bottom:22px;font-size:10px}.category-grid{gap:13px;grid-template-columns:1fr}.category-card{padding:23px;display:grid;grid-template-columns:100px 1fr;gap:23px;align-items:center}.category-images{height:135px;padding:0;margin:0;gap:5px}.category-card h2{font-size:21px}.category-card p{font-size:12px}.category-card small{font-size:10px}.category-card .eyebrow{font-size:8px}.keypad-illustration{width:75px;height:112px;padding:10px;margin:8px auto}.keypad-screen{height:20px;margin-bottom:9px}.keypad-illustration>div:last-child{gap:4px}.keypad-illustration i{height:10px}.device-grid{gap:11px}.device-card-picture{height:180px;padding:20px 16px}.device-card-text{padding:16px}.device-card h2{font-size:25px}.device-card strong{font-size:10px}.device-card p{font-size:10px}.device-heading{align-items:flex-start;gap:10px}.device-heading h1{font-size:24px}.device-heading p{font-size:11px}.device-heading .text-btn{font-size:9px;white-space:nowrap}.device-tabs{gap:0;margin-top:16px}.device-tabs a{padding:12px 15px;font-size:11px}.pg-intro{padding:20px}.pg-intro h2{font-size:17px;line-height:1.6}.pg-intro p{font-size:10px}.pg-intro .eyebrow{font-size:9px}.pg-count{font-size:28px}.pg-count small{font-size:8px}.pg-entry{padding:16px;display:block}.pg-entry strong{display:block;margin-bottom:8px}.pg-entry p{font-size:11px}.pg-item summary{padding:13px;gap:12px}.pg-code{min-width:40px;height:40px;font-size:20px}.pg-title{font-size:11px}.pg-default{font-size:9px}.pg-default b{font-size:10px;max-width:90px}.pg-chevron{margin-left:0}.pg-detail{padding:18px}.pg-detail dl>div,.pg-detail p{font-size:11px}.device-info{grid-template-columns:1fr;padding:23px;gap:23px}.device-info-picture{height:260px}.device-info h2{font-size:22px}.specs>div{grid-template-columns:70px 1fr;font-size:11px}.peripheral-card{padding:22px}.manual-download-panel{padding:23px}.manual-download-panel h2{font-size:20px}.manual-actions{flex-wrap:wrap}.catalog-local{font-size:10px;gap:10px}}
.peripheral-features{padding-left:18px;line-height:2;color:#617994;font-size:13px}.peripheral-card>.btn{margin-top:13px}input,textarea,select,button{color-scheme:only light}

.device-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.device-choice{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:23px;transition:.2s}.device-choice:hover{border-color:#8fb4e1;transform:translateY(-2px)}.choice-icon{display:grid;place-items:center;width:42px;height:46px;border-radius:10px;background:#eaf2fc;color:#0755ab;font-size:25px}.device-choice h2{font-size:17px;margin:0 0 8px}.device-choice p{font-size:11px;color:var(--muted);margin:0}.device-choice>span:last-child{margin-left:auto;color:#6a8db6}.device-card-picture,.device-info-picture,.peripheral-picture,.category-images{isolation:isolate}.device-photo{filter:drop-shadow(0 8px 8px #183f6810)}@media(max-width:900px){.device-choices{grid-template-columns:1fr}.device-choice{padding:20px}.device-choice h2{font-size:16px}}

.device-info .device-choices{grid-template-columns:1fr;gap:9px;margin:22px 0}.device-info .device-choice{padding:13px 16px}.device-info .choice-icon{width:34px;height:36px;font-size:22px}.device-info .device-choice h2{font-size:14px;margin:0 0 5px}.device-info .device-choice p{font-size:10px}.device-info-picture{align-self:start;position:sticky;top:30px}@media(max-width:720px){.device-info-picture{position:static}}

.manual-reader{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}.reader-heading{padding:24px}.reader-heading h2{font-size:22px;margin:10px 0}.reader-heading p,.reader-help{font-size:12px;color:var(--muted)}.reader-controls{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 20px;background:#f3f7fc;border-top:1px solid #e4ebf4;border-bottom:1px solid #e4ebf4}.reader-paging,.reader-zoom{display:flex;gap:9px;align-items:center;font-size:12px}.reader-controls button,.reader-controls select{font:inherit;padding:9px 12px;border:1px solid #d7e2ef;border-radius:7px;background:white;color:#235485;min-height:39px}.reader-controls button:disabled{opacity:.4;cursor:default}.reader-controls label{display:flex;gap:7px;align-items:center}.reader-controls output{font-variant-numeric:tabular-nums;min-width:38px;text-align:center}.reader-status{margin:14px 22px;font-size:11px;color:#6984a3}.reader-stage{overflow-x:auto;overscroll-behavior-x:contain;background:#eaf0f6;padding:0;max-width:100%}.manual-page-image{display:block;width:100%;max-width:none;height:auto;background:white}.reader-retry{margin:16px 22px}.reader-retry[hidden]{display:none}.reader-help{padding:0 22px;margin:16px 0}@media(max-width:720px){.reader-heading{padding:20px}.reader-heading h2{font-size:19px}.reader-controls{padding:10px;gap:9px;justify-content:center}.reader-paging,.reader-zoom{gap:6px;font-size:11px}.reader-controls button,.reader-controls select{padding:8px 9px}.reader-stage{min-height:200px}.reader-status{margin:12px;font-size:10px}}

.continuous-reader{overflow:visible}.continuous-reader .reader-heading{padding-bottom:18px}.continuous-reader .reader-controls{border-radius:0;align-items:center}.reader-scroll-hint{font-size:12px;color:#6481a2}.continuous-reader .reader-stage{border-radius:0 0 14px 14px;background:#eaf0f6}.reader-pages{width:100%;min-width:100%;padding:12px;box-sizing:border-box}.reader-sheet{margin:0 0 14px;background:white;box-shadow:0 2px 7px #25466612}.reader-sheet:last-child{margin-bottom:0}.reader-sheet figcaption{text-align:center;font-size:11px;color:#8c9aae;padding:13px;border-top:1px solid #edf1f6}.reader-page-error{text-align:center;padding:20px;font-size:12px;color:#8c5f50}.reader-page-error[hidden]{display:none}.continuous-reader .manual-page-image{width:100%;max-width:100%}@media(max-width:720px){.continuous-reader .reader-controls{justify-content:space-between}.reader-scroll-hint{font-size:10px}.reader-pages{padding:6px}.reader-sheet{margin-bottom:9px}.reader-sheet figcaption{font-size:10px;padding:9px}}
.smc-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:22px 0 12px}.smc-modes button{display:flex;flex-direction:column;align-items:flex-start;gap:9px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:20px;color:#7890ad}.smc-modes button.on{border-color:#0755ab;background:#eaf2fc;color:#0755ab;box-shadow:inset 0 0 0 1px #0755ab}.smc-modes strong{font-size:14px}.smc-modes span{font:700 25px monospace;letter-spacing:5px}.smc-modes small{font-size:11px}.smc-kind-hint{font-size:12px;color:#6b82a0;margin:16px 0}.smc-searches{display:grid;grid-template-columns:190px 1fr;gap:14px}.smc-searches .search{margin:0}.smc-number-search input{font-family:monospace;letter-spacing:3px}.smc-number-search>span{font-size:12px}.smc-code{min-width:72px;font-size:21px;font-family:monospace}.smc-searches .search input{min-width:0}.peripheral-features{font-size:13px;color:#6e829c;line-height:2;padding-left:20px}@media(max-width:720px){.smc-modes{gap:7px}.smc-modes button{padding:14px 10px}.smc-modes strong{font-size:11px}.smc-modes span{font-size:22px;letter-spacing:3px}.smc-searches{grid-template-columns:1fr}.smc-code{min-width:62px;font-size:19px}}

/* Shared compact layout: use these same dimensions for every device and future module. */
:root{--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px}
.sidebar{padding-top:18px;padding-bottom:18px}.brand{padding:0 8px 18px}.brand img{width:80px;height:35px}.sidebar nav{gap:3px}.sidebar nav a{padding:10px 12px}.side-label{margin:7px 12px}.side-bottom{padding-top:12px}.side-bottom small{margin-top:12px}
header{height:56px;padding-inline:28px}main{padding:16px 28px 24px}.crumbs{margin:0 0 10px;gap:7px;line-height:1.4;flex-wrap:wrap}.catalog-title{margin-bottom:12px}.catalog-title h1,.device-heading h1{font-size:25px;margin:0;line-height:1.35}.catalog-title>p{margin:4px 0 0}.device-heading{min-height:34px;gap:12px}.device-heading p{margin:3px 0 0}.device-tabs{margin:8px 0 12px;gap:0}.device-tabs a{padding:9px 16px;min-height:36px}.page-title{margin-bottom:14px}.page-title h1{margin:0 0 4px}.section-head{margin:14px 0 10px}.section-head h2{font-size:17px}.eyebrow{font-size:10px}.panel{padding:16px}.panel-head{margin-bottom:10px}.source-note{margin-top:10px;line-height:1.6}.hint{padding:10px 12px;margin:10px 0}.search{padding:10px 12px;margin:12px 0 16px;min-height:40px}.btn{padding:9px 12px}.empty{padding:26px 16px}.empty p{margin:8px auto 14px}.empty .tile-icon{margin-bottom:12px}.bottom-grid{margin-top:16px;gap:12px}.hero{min-height:140px;padding:20px 24px}.hero h1{font-size:26px;margin:0 0 8px;line-height:1.35}.hero-art{height:120px;transform:scale(.78);transform-origin:center}.card{padding:16px;min-height:142px}.card h3{margin:12px 0 5px}.tile-icon{width:36px;height:36px;border-radius:8px}.cards{gap:12px}.list-row{padding:12px}.field{margin:12px 0;gap:6px}.field input,.field select,textarea{padding:10px}.metric{padding:16px}.metric strong{margin:8px 0 4px}.map-placeholder{min-height:200px}footer{padding:6px 28px 16px}
.category-grid{gap:12px}.category-card{padding:16px;display:grid;grid-template-columns:100px 1fr;align-items:center;gap:14px}.category-images{height:100px;padding:0;margin:0;gap:6px}.category-card h2{font-size:21px;margin:4px 0}.category-card p{font-size:12px;margin:4px 0}.category-card small{font-size:10px}.category-card .eyebrow{display:none}.keypad-illustration{width:75px;height:105px;padding:10px;margin:0 auto}.keypad-screen{height:20px;margin-bottom:8px}.keypad-illustration>div:last-child{gap:4px}.keypad-illustration i{height:9px}.catalog-local{padding:12px 2px}
.device-grid{gap:12px}.device-card{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center}.device-card-picture{height:124px;padding:12px 6px}.device-card-text{border:0;padding:12px 10px}.device-card h2{font-size:24px;margin:0 0 5px}.device-card h2 span{font-size:13px}.device-card strong{font-size:10px;display:block;line-height:1.5}.device-card p{font-size:10px;margin:5px 0 0;line-height:1.5}
.device-info{padding:16px;grid-template-columns:100px minmax(0,1fr);gap:16px}.device-info-picture{height:140px;padding:0;position:static}.device-info p{margin:0 0 8px}.device-info .peripheral-features{margin:8px 0;line-height:1.75;font-size:12px}.device-info .peripheral-note{padding:8px;margin:8px 0}.main-device-info{display:block}.device-overview{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;align-items:center}.device-overview .device-info-picture{height:120px}.device-summary{font-size:12px;color:#657c98;line-height:1.6}.device-info .device-choices{display:flex;gap:7px;margin:8px 0 0}.device-info .device-choice{padding:9px 11px;flex:1;gap:6px;min-height:38px;border-radius:7px}.device-info .device-choice h2{font-size:12px;margin:0;white-space:nowrap}.device-info .device-choice p,.device-info .choice-icon{display:none}.device-info .device-choice>span:last-child{font-size:12px}.specs{margin:12px 0 0}.specs>div{padding:8px 0;font-size:12px}.specs>div:last-child{border-bottom:0}.specs dd{line-height:1.65}.peripheral-grid{gap:12px}.peripheral-card{padding:16px}.peripheral-picture{height:110px;padding:4px 8px;margin:0 0 10px}.peripheral-card h2{font-size:21px;margin:5px 0}.peripheral-card ul{font-size:12px;line-height:1.7;margin:8px 0}.peripheral-note{padding:9px;font-size:10px;line-height:1.6}.peripheral-features{line-height:1.7}
.pg-entry{margin:0 0 12px;padding:10px 12px;gap:12px;border-radius:8px;align-items:flex-start}.pg-entry p{font-size:12px;line-height:1.65}.pg-entry strong{font-size:12px;padding-top:1px}.pg-toolbar{gap:10px;margin-bottom:10px}.target-tabs{padding:3px}.target-tabs button{padding:8px 12px}.pg-toolbar .search{padding:9px 12px}.pg-chips{gap:6px;padding-bottom:3px}.pg-chips button{padding:7px 12px;font-size:11px;min-height:32px}.pg-results-head{margin:10px 2px 8px;gap:8px}.pg-item{margin-bottom:6px;border-radius:8px}.pg-item summary{padding:10px 12px;gap:12px}.pg-code{min-width:40px;height:36px;font-size:20px;border-radius:6px}.pg-title{font-size:12px}.pg-title small{margin-top:3px}.pg-detail{padding:12px 16px 12px 64px}.pg-detail p{margin:0;padding-top:8px;line-height:1.7}.pg-detail dl>div{padding:5px 0}.pg-warning{padding:9px;margin-bottom:8px}.smc-modes{gap:8px;margin:0 0 8px}.smc-modes button{padding:10px 12px;display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center;border-radius:8px}.smc-modes strong{font-size:12px}.smc-modes span{font-size:20px;letter-spacing:3px;grid-column:2;grid-row:1 / span 2}.smc-modes small{font-size:10px}.smc-kind-hint{margin:6px 0 8px;font-size:11px}.smc-searches{display:block;margin:0 0 10px}.smc-searches .search{margin:0;max-width:100%}.smc-code{min-width:60px;font-size:20px}.reader-controls,.continuous-reader .reader-controls{padding:8px 10px;gap:8px;border-top:0;border-radius:12px 12px 0 0}.reader-controls button,.reader-controls select{padding:6px 9px;min-height:32px}.reader-scroll-hint{font-size:11px}.reader-pages{padding:6px}.reader-sheet{margin-bottom:8px}.reader-sheet figcaption{padding:8px}.manual-reader{margin-top:0}.manual-download-panel{padding:16px}
.login-layout{padding:32px;gap:55px}.login-logo{margin-bottom:28px}.login-card{padding:28px}.login-intro h1{font-size:34px}.login-card h2{margin:12px 0 8px}.login-card form{margin-top:18px}.login-card .field{margin:16px 0}
@media(max-width:1100px){main{padding:14px 20px 22px}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-toolbar{gap:8px}.peripheral-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.sidebar{position:relative;padding:6px 12px 0}.brand{padding:0;height:34px;gap:8px;max-width:150px;margin-bottom:3px}.brand img{width:64px;height:30px}.brand span{font-size:12px;padding-left:8px}.sidebar nav{gap:2px;padding:0 0 5px;min-height:38px}.sidebar nav a{padding:8px 9px;font-size:11px;gap:5px;min-height:34px;border-radius:7px}.sidebar nav a svg{width:15px;height:15px}.shell>header{position:absolute;top:7px;right:12px;left:auto;height:30px;padding:0;background:transparent;border:0;z-index:6}.header-name{display:none}.header-right{gap:0}.account-bar{gap:4px}.account-name{font-size:10px;max-width:66px}.account-bar button{font-size:10px;padding:6px 4px;min-height:30px}.shell{margin:0}main{padding:12px 14px 20px}.crumbs{font-size:10px;margin-bottom:8px;gap:6px}.catalog-title{margin-bottom:10px}.catalog-title h1,.device-heading h1{font-size:21px;line-height:1.35;letter-spacing:-.6px}.device-heading{min-height:28px;gap:8px}.device-heading p{font-size:10px;margin:2px 0 0}.device-heading .text-btn{font-size:9px;padding:3px 0}.device-tabs{margin:6px 0 10px}.device-tabs a{padding:8px 10px;min-height:34px;font-size:11px}.device-grid{gap:8px}.device-card{grid-template-columns:58px minmax(0,1fr);border-radius:9px}.device-card-picture{height:100px;padding:9px 3px 9px 7px}.device-card-text{padding:10px 8px}.device-card h2{font-size:22px;margin:0 0 4px}.device-card strong{font-size:9px;line-height:1.45}.device-card p{display:none}.device-card h2 span{font-size:11px}.category-grid{gap:8px}.category-card{padding:12px;grid-template-columns:68px minmax(0,1fr);gap:12px;border-radius:10px}.category-images{height:80px;gap:4px}.category-card h2{font-size:19px;margin:3px 0}.category-card p{font-size:11px;margin:3px 0}.category-card small{font-size:10px}.keypad-illustration{width:55px;height:78px;padding:7px}.keypad-screen{height:14px;margin-bottom:6px}.keypad-illustration i{height:6px}.keypad-illustration>div:last-child{gap:3px}.device-info{padding:12px;grid-template-columns:74px minmax(0,1fr);gap:12px}.device-info-picture{height:110px}.device-overview{grid-template-columns:70px minmax(0,1fr);gap:12px}.device-overview .device-info-picture{height:105px}.device-summary{font-size:11px!important;line-height:1.6}.device-info .device-choices{gap:5px;flex-wrap:wrap;margin-top:6px}.device-info .device-choice{padding:8px;min-height:34px;flex:1 0 auto}.device-info .device-choice h2{font-size:11px}.device-info .device-choice>span:last-child{display:none}.specs{margin-top:9px}.specs>div{grid-template-columns:66px minmax(0,1fr);gap:9px;padding:7px 0;font-size:11px}.specs dd{line-height:1.6}.peripheral-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.peripheral-card{padding:12px}.peripheral-picture{height:90px;padding:2px 5px;margin-bottom:8px}.peripheral-card h2{font-size:18px}.peripheral-card ul{font-size:11px;padding-left:13px;line-height:1.65}.peripheral-card .eyebrow{font-size:9px;letter-spacing:.3px}.peripheral-note{padding:7px;font-size:10px}.peripheral-card .btn{font-size:10px;padding:8px 5px}.device-info .peripheral-features{font-size:11px;line-height:1.65}.pg-entry{padding:9px 11px;margin-bottom:10px;display:block}.pg-entry strong{display:block;margin-bottom:3px;font-size:11px}.pg-entry p{font-size:11px;line-height:1.6}.pg-toolbar{gap:8px}.pg-toolbar .search{padding:9px 11px}.target-tabs button{padding:8px 11px;font-size:11px}.pg-item summary{padding:9px 10px;gap:9px}.pg-title{font-size:11px}.pg-code{min-width:36px;height:33px;font-size:19px}.pg-detail{padding:11px 13px}.pg-results-head{font-size:9px}.smc-modes{gap:6px;margin-bottom:6px}.smc-modes button{padding:9px 8px;display:flex;gap:3px;align-items:flex-start;min-height:65px}.smc-modes strong{font-size:11px}.smc-modes span{font-size:17px;letter-spacing:3px}.smc-modes small{font-size:9px}.smc-kind-hint{font-size:10px;margin:6px 0}.smc-code{min-width:56px;font-size:19px}.smc-searches{margin-bottom:8px}.smc-searches .search{padding:9px 11px}.reader-controls,.continuous-reader .reader-controls{padding:7px 8px;gap:6px}.reader-zoom{font-size:11px;gap:5px}.reader-controls button{padding:5px 7px;min-height:30px}.reader-scroll-hint{font-size:10px}.reader-pages{padding:4px}.reader-sheet{margin-bottom:6px}.reader-sheet figcaption{padding:6px;font-size:9px}.hero{min-height:130px;padding:17px}.hero h1{font-size:23px}.hero p{font-size:11px}.section-head{margin:14px 0 9px}.card{padding:14px;min-height:132px}.card h3{margin-top:10px;font-size:14px}.card p{font-size:11px;line-height:1.6}.panel{padding:14px}.page-title{margin-bottom:12px}.source-note{font-size:10px;line-height:1.6}.login-layout{padding:22px 18px;gap:16px}.login-card{padding:22px}.login-intro h1{font-size:25px}.login-logo{margin-bottom:10px}footer{padding:4px 14px 14px}}
@media(max-width:380px){.brand span{display:none}.brand{max-width:72px}.account-bar{gap:2px}.account-bar button{font-size:9px}.account-name{font-size:9px;max-width:55px}.device-info .device-choices{gap:4px}.device-info .device-choice{padding:7px 6px}.device-info .device-choice h2{font-size:10px}}
#e3-prefix{font-family:monospace;font-size:17px;color:var(--blue);border-right:1px solid var(--border);padding-right:10px}#e3-prefix[hidden]{display:none}.peripheral-category-icon{font-size:60px;color:#6185af;text-align:center;line-height:1.3}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-card{grid-template-columns:70px minmax(0,1fr);gap:10px}.category-card h2{font-size:20px}@media(max-width:1100px){.category-grid{grid-template-columns:1fr}.category-card{grid-template-columns:80px minmax(0,1fr)}}@media(max-width:720px){.category-card{grid-template-columns:68px minmax(0,1fr)}.category-card h2{font-size:19px}.peripheral-category-icon{font-size:42px}}

/* Approved welcome card: comfortable typography and account-specific greeting. */
.welcome-hero{display:block;min-height:0;padding:32px 36px;background:#eaf2fc;border:1px solid #d6e4f6;border-radius:20px}.welcome-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px;flex-wrap:wrap}.welcome-hero .eyebrow{margin:0;font-size:11px;letter-spacing:2.8px;line-height:1.6;color:#728daa}.worker-greeting{padding:8px 15px;border-radius:30px;background:#d8e9fd;color:#164d85;font-size:14px;font-weight:700;line-height:1.5}.welcome-hero h1{font-size:34px;line-height:1.55;letter-spacing:-1px;margin:0;color:#193e68;font-weight:750}.welcome-hero h1 span{color:#0755ab}.welcome-hero p{margin:20px 0 0;font-size:14px;line-height:1.8;color:#6b819a}.category-images .device-photo{width:calc(50% - 3px);min-width:0;height:100%;flex:1}
@media(max-width:720px){.welcome-hero{padding:22px 20px;border-radius:16px}.welcome-top{gap:13px;margin-bottom:21px;flex-direction:column;align-items:flex-start}.welcome-hero .eyebrow{font-size:9px;letter-spacing:1.9px;order:2}.worker-greeting{font-size:12px;padding:6px 11px;order:1}.welcome-hero h1{font-size:clamp(20px,5.65vw,27px);line-height:1.6;letter-spacing:-.7px}.welcome-hero p{font-size:12px;margin-top:17px}}

.welcome-hero .welcome-top{display:block;margin-bottom:17px}.welcome-hero h1{line-height:1.4}.welcome-hero p{margin-top:15px}.account-name{white-space:nowrap}@media(max-width:720px){.welcome-hero{padding:20px}.welcome-hero .welcome-top{margin-bottom:16px}.welcome-hero h1{line-height:1.45}.welcome-hero p{margin-top:13px}.account-name{max-width:100px;font-size:10px}}
.network-info .panel-head{align-items:center}.network-caution{font-size:12px;color:var(--muted);line-height:1.75;margin:0 0 12px}.network-info .specs{margin-top:0}.network-info dd{overflow-wrap:anywhere}.network-actions{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}.network-actions>span{font-size:11px;color:var(--muted)}.network-next{margin-top:14px}.network-next h2{font-size:16px;margin-bottom:12px}.network-next .network-grid{margin:0;gap:8px}.network-next .metric{padding:12px}.network-next .metric strong{font-size:23px}@media(max-width:720px){.network-caution{font-size:11px}.network-info .specs>div{grid-template-columns:68px minmax(0,1fr);padding:9px 0}.network-info .tag{font-size:9px}.network-actions{gap:9px}.network-next .metric{padding:10px}}

.quality-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.quality-actions>span{font-size:11px;color:var(--muted)}.quality-actions [hidden]{display:none}.quality-verdict{margin:14px 0 12px;padding:10px 12px;border-radius:8px;background:#edf5ff;color:#205386;font-weight:650;font-size:13px}.quality-verdict.has-failure{background:#fff0ef;color:#a13a3a}.quality-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.quality-metrics .metric{padding:12px;border:1px solid var(--border);border-radius:9px}.quality-metrics .metric strong{font-size:25px;margin:7px 0 0}.quality-metrics .metric span{font-size:11px}.quality-chart{min-height:105px;margin-top:12px;border-radius:8px;background:#f7f9fc;padding:8px;display:grid;place-items:center;overflow:hidden}.quality-chart>span{font-size:11px;color:var(--muted)}.quality-chart svg{width:100%;height:125px}.quality-chart text{fill:#7e8fa6;font-size:10px}.quality-legend{display:flex;gap:14px;font-size:10px;color:#1766bc;margin-top:5px}.quality-failed{color:#cf4654}.quality-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--border);font-size:12px}.quality-line b{margin-left:10px}.quality-line strong{font-size:11px;color:var(--muted)}.quality-connection summary{font-size:11px;color:var(--muted);cursor:pointer;padding:3px 0}.quality-connection .specs{margin:8px 0}.speed-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:720px){.quality-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-metrics .metric{padding:10px}.quality-metrics .metric strong{font-size:24px}.quality-verdict{font-size:12px}.quality-chart svg{height:105px}}

#speed-start[hidden]{display:none}

.quality-speed{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.quality-speed h2{font-size:14px}.quality-speed .panel-head{margin-bottom:8px}

/* Shared device navigation: calm segmented tabs and distinct quick actions. */
.device-tabs{display:flex;gap:4px;padding:4px;background:#edf0f5;border:1px solid #e1e7f0;border-radius:11px;margin:12px 0 14px;overflow-x:auto;scrollbar-width:none}.device-tabs::-webkit-scrollbar{display:none}.device-tabs a{flex:1;text-align:center;display:flex;align-items:center;justify-content:center;min-height:39px;padding:8px 13px;border:1px solid transparent;border-radius:8px;font-size:12px;line-height:1.4;color:#718099;transition:background .15s,color .15s,box-shadow .15s}.device-tabs a.selected{background:#fff;color:#536b86;border-color:#e1e6ee;box-shadow:0 2px 5px #173e6810;font-weight:700}.device-tabs a:hover{color:#536b86;background:#ffffff80}.device-tabs a.selected:hover{background:#fff}.device-tabs a:focus-visible,.device-choice:focus-visible{outline:3px solid #80b3ed;outline-offset:3px}
.device-info .device-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.device-info .device-choice{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 13px;flex:1 1 auto;border:1px solid #dfe5ed;border-radius:9px;background:#f7f9fc;color:#53677f;box-shadow:none;transition:background .15s,border-color .15s;transform:none}.device-info .device-choice .choice-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;background:none;border-radius:0;color:inherit;font-size:inherit}.choice-icon svg{width:18px;height:18px}.device-info .device-choice h2{font-size:12px;line-height:1.4;font-weight:650;letter-spacing:-.25px;margin:0;color:inherit}.device-info .device-choice p,.device-info .device-choice>span:last-child{display:none}.device-info .choice-pg{background:#f7f9fc;border-color:#dfe5ed;color:#53677f}.device-info .choice-peripherals{background:#f8f9fc;border-color:#dfe5ee;color:#576d86}.device-info .device-choice:hover{background:#eef2f7;border-color:#cad4e0}.device-info .choice-pg:hover{background:#eef2f7;border-color:#cad4e0}.device-info .device-choice:active{filter:brightness(.97)}
@media(max-width:720px){.device-tabs{margin:10px 0 12px;gap:3px;padding:4px;border-radius:10px}.device-tabs a{min-height:36px;padding:7px 8px;font-size:11px;border-radius:7px}.device-info .device-choices{gap:6px;margin-top:10px}.device-info .device-choice{padding:10px 9px;min-height:40px;gap:6px;border-radius:8px;flex:1 1 auto}.device-info .device-choice h2{font-size:11px}.device-info .device-choice .choice-icon{width:16px;height:16px;flex-basis:16px}.choice-icon svg{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){.device-tabs a,.device-info .device-choice{transition:none}}

.management-guide{margin-top:14px}.management-guide>h2{font-size:17px;line-height:1.4;margin:0 0 7px;color:#253c56}.management-lead{margin:0 0 14px;font-size:12px;color:#728198;line-height:1.75}.management-lead strong{color:#53677f;font-weight:600}.management-rule{border:1px solid #e3e8ef;background:#f8fafc;border-radius:10px;padding:13px 15px}.management-rule+.management-rule{margin-top:10px}.management-rule h3{font-size:13px;margin:0 0 7px;display:flex;align-items:center;gap:6px;color:#354e6a;font-weight:600}.management-rule h3>span{display:inline-grid;place-items:center;width:24px;height:24px;background:#eaf0f7;border-radius:6px;font-size:15px;color:#536c8b;font-variant-numeric:tabular-nums}.management-rule>p{font-size:12px;margin:0 0 10px;color:#6c7c91;line-height:1.7}.management-rule>p strong{font-weight:600;color:#405772}.management-example{display:grid;grid-template-columns:1fr 20px 1fr;align-items:center;gap:7px;padding:8px 0;font-size:11px;color:#7c899a;border-top:1px solid #e7ecf3}.management-example b,.management-example strong{font-size:15px;letter-spacing:.6px;font-variant-numeric:tabular-nums;color:#405772;font-weight:650;margin-left:7px}.management-example>span:nth-child(2){color:#9aaabb;text-align:center}.management-example strong{color:#345778}@media(max-width:720px){.management-guide{margin-top:12px}.management-guide>h2{font-size:16px}.management-rule{padding:12px}.management-rule>p,.management-lead{font-size:11px}.management-example{font-size:10px}.management-example b,.management-example strong{font-size:14px;margin-left:5px}}

.customer-pc-option{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #e0e6ef;border-radius:9px;background:#f7f9fc;cursor:pointer;margin:16px 0 8px}.customer-pc-option input{width:16px;height:16px;margin:3px 0 0;accent-color:#647d9b;flex-shrink:0}.customer-pc-option strong{font-size:13px;font-weight:650;color:#425a75}.customer-pc-option small{display:block;font-size:11px;line-height:1.65;color:#7b899c;margin-top:4px}.login-mode-help{font-size:10px;line-height:1.7;color:#8290a1;margin:7px 1px 10px}.customer-mode-badge{font-size:10px;padding:4px 6px;border-radius:5px;background:#edf1f6;color:#6a7d96;white-space:nowrap}@media(max-width:720px){.customer-mode-badge{display:none}}

.browser-network-details{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.browser-network-details .specs>div{grid-template-columns:110px minmax(0,1fr)}@media(min-width:1000px){.quality-panel{max-width:1100px}.quality-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.speed-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-chart svg{height:150px}}

.settings-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-intro{font-size:13px;color:#718096;line-height:1.7;margin:0 0 14px}.setup-guide{display:grid;gap:12px;max-width:850px}.setup-step{padding:20px 22px}.setup-step h2{display:flex;align-items:center;gap:9px;font-size:16px;color:#354e6a;margin:0 0 12px}.setup-step h2>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#edf2f8;color:#607995;font-size:12px;flex-shrink:0}.setup-step p{font-size:13px;line-height:1.8;color:#718096;margin:0 0 12px}.setup-number-rule{padding:12px 14px;border:1px solid #e4e9f0;background:#f8fafc;border-radius:9px;margin-top:9px;display:grid;gap:5px;font-size:12px;color:#718096}.setup-number-rule>strong{color:#405772}.setup-number-rule>div{display:flex;align-items:center;gap:10px;margin-top:4px;flex-wrap:wrap}.setup-number-rule b{color:#53677f;letter-spacing:.5px}.setup-step code{font-family:inherit;font-variant-numeric:tabular-nums;letter-spacing:.7px;font-weight:650;color:#3d5775}.setup-number-rule code{background:#edf2f8;border-radius:5px;padding:5px 8px;font-size:15px}.setup-values{margin:0}.setup-values>div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 0;border-top:1px solid #edf0f5;font-size:13px}.setup-values>div:first-child{border:0;padding-top:0}.setup-values dt{color:#7d8ba0}.setup-values dd{margin:0;color:#425a75;font-weight:600}.setup-step .setup-note{font-size:11px;margin:10px 0 0;color:#8693a5}.setup-checks{padding-left:20px;color:#64768c;font-size:13px;line-height:2;margin:0 0 12px}.setup-finish{background:#f1f5fa;border-radius:8px;padding:12px;font-size:12px;line-height:1.8;color:#60758f}@media(max-width:720px){.settings-category-grid{grid-template-columns:1fr}.setup-step{padding:16px}.setup-step h2{font-size:15px}.setup-step p{font-size:12px}.setup-number-rule>div{gap:8px}.setup-intro{font-size:12px}}

.programs-intro{font-size:13px;color:#7a889b;line-height:1.8;margin:0 0 16px}.programs-empty{display:flex;align-items:center;gap:16px;padding:25px}.programs-empty-icon{display:grid;place-items:center;flex-shrink:0;width:45px;height:45px;border-radius:12px;background:#f0f4f9;color:#7c91ab}.programs-empty-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.programs-empty h2{font-size:15px;color:#425a75;margin:0 0 7px}.programs-empty p{font-size:12px;color:#8390a2;line-height:1.85;margin:0}@media(max-width:720px){.programs-empty{padding:20px 16px;gap:13px}.programs-intro{font-size:12px}}

#home-cards{grid-template-columns:repeat(2,minmax(0,1fr))}

.program-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-category-icon{display:grid;place-items:center;width:82px;height:82px;border-radius:15px;background:#f1f5fa;color:#788fa9;flex-shrink:0}.program-category-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.program-list{display:grid;gap:12px;max-width:900px}.program-item-top{display:flex;align-items:center;gap:12px}.program-item-top h2{font-size:16px;margin:0 0 4px;color:#354e6a}.program-item-top p{font-size:12px;color:#8090a4;margin:0}.program-item-icon{display:grid;place-items:center;width:40px;height:40px;background:#f1f5fa;border-radius:10px;color:#8195af;flex-shrink:0}.program-item-icon svg,.program-download svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.program-status{margin-left:auto;font-size:10px;color:#8896a8;white-space:nowrap}.program-pending{font-size:12px;color:#8a97a9;margin:15px 0 10px}.program-file-meta{display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid #edf0f5;margin-top:14px;padding:12px 0;font-size:12px;color:#6f8199}.program-file-meta span{overflow-wrap:anywhere}.program-file-meta small{white-space:nowrap;color:#8795a8}.program-download{display:inline-flex;gap:12px;align-items:center;margin-right:14px}.program-create-link{font-size:11px;margin-top:10px}.program-link-result:empty{display:none}.program-link-result{padding:12px;margin-top:10px;border-radius:8px;background:#f7f9fc;font-size:12px;color:#78899e;overflow-wrap:anywhere}.program-link-result p{margin:0 0 7px}.program-link-result input{display:block;box-sizing:border-box;width:100%;font-size:11px;border:1px solid #e0e7ef;border-radius:6px;padding:8px;color:#637b97;margin-top:8px;background:white}.program-upload{max-width:700px}.program-upload #upload-link-status{font-size:11px;line-height:1.8}.program-file-label{display:grid;gap:8px;font-size:12px;color:#526b88;margin:17px 0 8px}.program-file-label input{font-size:12px;width:100%}.program-upload form small{display:block;font-size:11px;color:#8a97a9;margin:8px 0 16px}.program-upload progress{width:100%;accent-color:#7b94b2;height:8px}.program-upload #program-upload-progress{margin-top:18px}.program-upload #program-upload-progress p{font-size:12px;color:#6e829b}.program-upload>.text-btn{font-size:12px;display:inline-block;margin-top:12px}@media(max-width:720px){.program-category-grid{grid-template-columns:1fr}.program-category-icon{width:64px;height:64px}.program-category-icon svg{width:30px;height:30px}.program-item-top h2{font-size:15px}.program-status{font-size:9px}.program-item-top{gap:10px}}

.program-category-grid .category-card{grid-template-columns:64px minmax(0,1fr);column-gap:20px;padding:20px;align-items:center}.program-category-grid .program-category-icon{width:64px;height:64px;border-radius:14px}.program-category-grid .program-category-icon svg{width:30px;height:30px}.program-category-grid .category-card>div:last-child{min-width:0}.program-category-grid .category-card h2{margin:0 0 6px;line-height:1.35}.program-category-grid .category-card p{margin:0 0 6px;line-height:1.5}.program-category-grid .category-card small{display:block;line-height:1.5}@media(max-width:720px){.program-category-grid .category-card{grid-template-columns:56px minmax(0,1fr);column-gap:17px;padding:18px}.program-category-grid .program-category-icon{width:56px;height:56px;border-radius:12px}.program-category-grid .program-category-icon svg{width:28px;height:28px}.program-category-grid .category-card h2{font-size:19px}}

.customer-pc-option[hidden]{display:none}

.measurement-route{border:1px solid #e1e7ef;background:#f7f9fc;border-radius:10px;padding:13px 15px;margin:0 0 15px}.measurement-route-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px 13px;font-size:12px;color:#8391a4}.measurement-route-top strong{font-size:14px;color:#435c79}.measurement-route-top small{font-size:10px;color:#8a97a9;margin-left:auto}.measurement-route p{font-size:11px;line-height:1.8;color:#78899e;margin:8px 0}.measurement-route p strong{color:#627792;font-weight:600}.measurement-route-snapshot{display:flex;justify-content:space-between;gap:10px;font-size:10px;line-height:1.6;color:#8a97a9;border-top:1px solid #e6ebf2;padding-top:8px}.measurement-route-snapshot b{font-weight:500;color:#6a7f98;text-align:right}@media(max-width:720px){.measurement-route{padding:12px}.measurement-route-top small{font-size:9px}.measurement-route-snapshot{font-size:9px}}

.external-network-panel{max-width:1100px;margin-top:12px}.external-network-panel .measurement-route{margin-bottom:10px}.network-provider-line{margin:0}.external-test-host{margin-top:18px}.external-test-intro>h2{font-size:17px;color:#354e6a;margin:0 0 7px}.external-test-intro>p{font-size:12px;line-height:1.8;color:#7c8ba0;margin:0 0 14px}.external-test-disclosure{padding:13px 15px;background:#f7f9fc;border:1px solid #e1e7ef;border-radius:10px;margin-bottom:14px}.external-test-disclosure>strong{font-size:12px;color:#526b88}.external-test-disclosure p{font-size:11px;line-height:1.85;color:#78899e;margin:6px 0}.external-test-disclosure a{font-size:10px;color:#7189a5}.external-speed-frame{display:block;width:100%;height:870px;border:0;border-radius:10px;background:#091929}.external-test-attribution{display:inline-block;font-size:11px;color:#7c90aa;margin:12px 0 7px}.external-test-notes{margin-top:4px}.external-test-intro>.source-note{margin-top:10px}@media(max-width:720px){.external-speed-frame{height:1120px}.external-test-intro>h2{font-size:16px}.external-test-disclosure{padding:12px}.external-test-disclosure p{font-size:10px}}

.external-network-panel .external-privacy-line{font-size:11px;color:#8491a3;line-height:1.8;margin:7px 0 14px}.external-privacy-line a{font-size:10px;color:#8393a8;margin-left:7px;white-space:nowrap}.external-network-panel #measurement-route-message{margin:6px 0 0}.external-network-panel #measurement-route-message[hidden]{display:none}.external-test-intro>h2{margin-bottom:6px}.external-test-host{margin-top:16px}.external-test-attribution{margin-top:12px;font-size:10px}

.network-ip-link{color:#5b789b;text-decoration:underline;text-decoration-color:#c7d4e5;text-underline-offset:3px;overflow-wrap:anywhere}.network-ip-link:hover{color:#345d89;text-decoration-color:currentColor}

.specs>div[hidden]{display:none}.router-login-hint{display:block;font-size:11px;color:#8996a8;line-height:1.8;margin-top:5px}

/* Field setup: shared quiet surfaces and readable, compact steps. */
.start-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:6px;background:#e9eef5;border:1px solid #e1e7f0;border-radius:13px;max-width:850px;margin:8px 0 16px}.start-models a{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 8px;border:1px solid transparent;border-radius:9px;color:#7c8ba0;text-decoration:none}.start-models a.on{background:white;border-color:#dce5ef;color:#365c86;box-shadow:0 2px 5px #263f5c05}.start-models strong{font-size:15px}.start-models small{font-size:11px}.start-guide-links{display:flex;align-items:center;gap:16px;max-width:850px;margin:0 0 12px;font-size:12px;color:#7c8ba0}.start-guide-links>span{margin-right:auto}.start-guide-links a{color:#6d86a2;text-decoration:none}.start-fold{border-top:1px solid #e8edf4;margin-top:12px;padding-top:12px}.start-fold summary{color:#526a85;font-size:13px;font-weight:650;cursor:pointer;line-height:1.6}.start-fold-body{margin-top:12px}.start-fold-body .btn{font-size:12px;margin-top:2px}.start-pg-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.65;table-layout:fixed}.start-pg-table thead th{text-align:left;color:#8a98aa;font-size:11px;font-weight:500;padding:0 9px 8px}.start-pg-table th:first-child{width:58px}.start-pg-table th:nth-child(2){width:30%}.start-pg-table td,.start-pg-table tbody th{border-top:1px solid #edf0f5;padding:11px 9px;text-align:left;vertical-align:top}.start-pg-table tbody th{font-weight:500;color:#62758c}.start-pg-table td{color:#435b76}.start-example{color:#8b98a9;font-size:11px;font-weight:400}.start-ip-note{padding:12px 14px;background:#f7f9fc;border:1px solid #e9edf4;border-radius:9px;margin-top:12px;font-size:12px;color:#566e88}.start-ip-note p{margin:3px 0 12px;font-size:12px}.start-ip-note .setup-values>div{font-size:12px}.start-system-user{background:#f5f8fc;padding:12px 14px;border-radius:9px;margin-top:14px;font-size:12px;color:#5e7792}.start-system-user p{margin:5px 0 0;font-size:12px}.start-instructions{padding-left:19px;color:#687b91;font-size:13px;line-height:1.9;margin:0}.start-instructions li+li{margin-top:8px}.start-checklist{display:grid;gap:12px}.start-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.7;color:#677c94;cursor:pointer}.start-check input{width:16px;height:16px;flex-shrink:0;margin:3px 0 0;accent-color:#7191b4}.start-check:has(input:checked){color:#91a0b2}.start-guide a:focus-visible,.start-models a:focus-visible,.start-check input:focus-visible{outline:2px solid #7798bb;outline-offset:3px}@media(max-width:720px){.start-models a{flex-direction:column;gap:3px;padding:8px 5px}.start-models strong{font-size:14px}.start-models small{font-size:10px}.start-guide-links{gap:12px}.start-pg-table{font-size:12px}.start-pg-table th:first-child{width:45px}.start-pg-table th:nth-child(2){width:29%}.start-pg-table td,.start-pg-table tbody th{padding:10px 5px}.start-pg-table thead th{padding-left:5px;padding-right:5px}.start-guide .setup-step code{letter-spacing:.2px}.start-instructions,.start-check{font-size:12px}.start-guide .setup-values>div{font-size:12px}.start-guide .setup-values dd{text-align:right}.start-example{font-size:10px}}

.module-card .tile-icon{background:#f0f2f5;color:#929eac}.module-card .tag{background:#f7f8fa;border:1px solid #e5e9ee;color:#97a2b0}.module-card.module-ready .tile-icon{background:#edf4fd;color:#6286b0}.module-card.module-ready .tag{background:#f0f6ff;border-color:#dce8f8;color:#718db0}.workspace-upload{margin-bottom:14px;padding:18px 22px}.workspace-upload summary{font-size:13px;font-weight:600;color:#637d9a;cursor:pointer}.workspace-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.workspace-form-bottom{display:flex;gap:16px;justify-content:space-between;align-items:center;color:#8997a9;font-size:11px;line-height:1.7}.workspace-form-bottom>div{display:flex;gap:8px}.workspace-list{margin-top:14px}.workspace-list h2,.contact-form-panel h2{font-size:16px;color:#425b78;margin:0}.workspace-list-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.workspace-search input{border:1px solid #e0e7f0;background:#f9fbfe;border-radius:8px;padding:10px 12px;width:230px;font-size:12px;color:#536c88}.workspace-record{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid #edf0f5}.workspace-record:last-child{border:0;padding-bottom:0}.workspace-record>div{min-width:0}.workspace-record strong{font-size:14px;color:#465e79;overflow-wrap:anywhere}.workspace-record p{font-size:12px;line-height:1.8;color:#8393a8;margin:6px 0 0;overflow-wrap:anywhere}.workspace-record small{font-size:10px;color:#98a5b6}.workspace-record .btn{flex-shrink:0}.workspace-empty{font-size:12px;line-height:1.8;color:#91a0b3;padding:22px 0 4px}.contact-form-panel{max-width:950px}.contact-form-panel textarea{min-height:72px}.contact-form-panel .field>small{display:inline;font-weight:400}.contact-memo{white-space:pre-wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:720px){.workspace-fields{gap:0 12px}.workspace-fields .field{min-width:0;font-size:11px}.workspace-fields input{min-width:0;padding:11px 9px;font-size:12px}.workspace-form-bottom{align-items:flex-start;gap:10px}.workspace-form-bottom>span{flex:1}.workspace-form-bottom>div{flex-shrink:0}.workspace-list-heading{align-items:flex-start;flex-direction:column;gap:12px}.workspace-search,.workspace-search input{width:100%}.workspace-record strong{font-size:13px}.workspace-record p{font-size:11px}.workspace-upload{padding:16px}.workspace-upload .workspace-fields{grid-template-columns:1fr}.workspace-upload input[type=file]{font-size:11px}}
#home-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.workspace-form-bottom [hidden]{display:none}
.workspace-heading{margin-bottom:16px}.contact-form-panel .field>span>small{font-size:10px;color:#93a1b3;margin-left:4px}

.connection-status{display:inline-block;width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#a4afbd;box-shadow:0 0 0 3px #a4afbd12;margin-right:2px}.connection-status[data-state=online]{background:#55a77e;box-shadow:0 0 0 3px #55a77e12}.connection-status[data-state=offline]{background:#ce6d73;box-shadow:0 0 0 3px #ce6d7312}.admin-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:950px}.admin-mode-card{display:flex;align-items:center;gap:16px;text-align:left;text-decoration:none;width:100%;color:#617b98;padding:22px;border:1px solid #e2e8f0;cursor:pointer}.admin-mode-card h2{font-size:15px;margin:0 0 6px;color:#455c77}.admin-mode-card p{font-size:12px;color:#8a9aaf;margin:0}.admin-mode-card>span:last-child{margin-left:auto;color:#9db0c6}.admin-mode-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:#f0f5fc;color:#7e98b6;flex-shrink:0;font-size:25px}.admin-mode-icon svg{width:22px;height:22px}.admin-mode-card:hover{border-color:#cbd9e9;background:#fbfdff}.admin-mode-card:focus-visible{outline:2px solid #8ca6c4;outline-offset:3px}@media(max-width:720px){.admin-mode-grid{grid-template-columns:1fr;gap:12px}.admin-mode-card{padding:18px;gap:14px}.admin-mode-card h2{font-size:14px}.admin-mode-card p{font-size:11px}.account-bar .connection-status{margin-right:3px}}
.auth-required-layout{width:min(490px,100%);margin:auto;padding:30px 20px}.auth-required-layout .login-card{padding:28px}.auth-required-layout .login-card>p{font-size:12px;line-height:1.8;color:#8191a5}.first-password-exit{display:block;margin:20px auto 0}.auth-required-layout .btn{margin-top:12px}
.customer-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:850px}.customer-category-card{display:flex;align-items:center;gap:18px;padding:24px;min-height:120px}.customer-category-symbol{width:48px;height:48px;border-radius:13px;background:#edf3fb;color:#7d99b9;display:grid;place-items:center;font-size:22px;flex-shrink:0}.customer-category-card h2{font-size:17px}.customer-category-card p{margin-bottom:0}.customer-korean-fields{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px}.customer-korean-fields .field{min-width:0}.customer-korean-fields input{min-width:0}.customer-language{max-width:280px;margin-top:0}.customer-choices{border:0;padding:0;margin:12px 0 18px}.customer-choices legend{font-size:12px;color:#657d98;margin-bottom:9px}.customer-choices small,.customer-korean-fields small{color:#9aa6b6;font-size:10px}.customer-choices>div{display:flex;gap:8px;flex-wrap:wrap}.customer-choices button,.customer-period-tabs button{border:1px solid #e2e8f0;border-radius:8px;padding:9px 14px;background:#fafbfd;color:#8a99ac;font-size:12px}.customer-choices button.on,.customer-period-tabs button.on{background:#edf4fd;border-color:#d9e6f6;color:#5f80a6}.customer-period-tabs{display:flex;gap:5px}.customer-position{margin-left:8px;color:#8b9bb0;font-size:12px}.customer-extra{display:flex;gap:5px 12px;flex-wrap:wrap;font-size:11px;color:#8395ad;margin:6px 0}.customer-info-record small{display:block;margin-top:7px}.customer-info-record .btn{padding:8px 12px}.customer-info-record p{margin-top:3px}@media(max-width:720px){.customer-category-card{padding:18px 14px;min-height:150px;flex-direction:column;align-items:flex-start;gap:14px}.customer-category-card h2{font-size:15px}.customer-category-card p{font-size:11px}.customer-korean-fields{grid-template-columns:1fr 1fr;gap:0 12px}.customer-korean-fields .field:last-child{grid-column:1/-1}.customer-category-grid{gap:12px}.customer-info-record{gap:10px}.customer-info-record strong{font-size:14px}.customer-language{max-width:none}.customer-choices button{font-size:11px;padding:10px}.customer-period-tabs button{padding:8px 15px}}
.login-recovery-link,.recovery-back{display:block;text-align:center;margin-top:19px;font-size:12px}.recovery-wait{padding:18px 0;color:#607994;font-size:13px;line-height:1.9}.recovery-wait strong{font-size:15px;color:#45617f}.recovery-wait p{font-size:12px;margin:8px 0}.recovery-wait small{color:#8b9cb2}.recovery-admin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid #edf0f5;font-size:13px}.recovery-admin-row:last-child{border:0}.recovery-admin-row a{color:#496681;text-decoration:none}.recovery-admin-row a>span{font-size:11px;color:#91a0b2}.recovery-admin-row p{margin:6px 0;color:#7f91a8;font-size:12px}.recovery-admin-row small{color:#91a0b2;font-size:11px}.recovery-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.activity-tabs{margin-bottom:14px}.activity-event{padding:16px 0;border-bottom:1px solid #edf0f5;font-size:12px}.activity-event:first-child{padding-top:0}.activity-event:last-child{border:0}.activity-event>div{display:flex;gap:15px;align-items:center;justify-content:space-between}.activity-event strong{color:#536d89;font-size:13px}.activity-event time{font-size:11px;color:#94a2b4}.activity-event p{color:#8495ab;line-height:1.8;margin:7px 0}.activity-event details{color:#9aa8ba;font-size:10px;overflow-wrap:anywhere;line-height:1.8}.activity-event summary{cursor:pointer}.employee-detail-link{color:#54779d;text-decoration:none;border-bottom:1px solid #dbe6f3;padding-bottom:2px}.recovery-notice-copy{font-size:13px;line-height:1.8;color:#6b809a}.recovery-notice-names{background:#f6f9fd;border-radius:9px;padding:8px 14px;color:#7d91ab;font-size:12px}.admin-contact-kind{font-size:10px;color:#9aa8b9;margin-top:15px}#activity-more[hidden]{display:none}#activity-more{margin-top:15px}@media(max-width:720px){.activity-event>div{align-items:flex-start;flex-direction:column;gap:6px}.recovery-admin-row{font-size:12px;align-items:flex-start}.recovery-admin-row p{font-size:11px}.recovery-actions .btn{padding:8px 10px}.activity-tabs button{font-size:11px}.recovery-admin-row a>span{display:block;margin-top:3px}}
/* Compact onboarding and field tools */
.login-layout{grid-template-columns:1fr;width:min(470px,100%);gap:22px;padding:32px 22px}.login-intro{text-align:center}.login-logo{width:120px;margin-bottom:15px}.login-intro .eyebrow{font-size:11px;letter-spacing:2px}.login-card h2{margin:0 0 14px}.signup-link{display:flex;justify-content:center;margin-top:18px;width:100%}.signup-layout{max-width:540px}.signup-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.8;color:#647b96}.signup-consent input{margin-top:4px;flex-shrink:0;width:17px;height:17px}.signup-progress{text-align:center;padding:35px 0}.signup-progress p,#signup-result>p{font-size:13px;line-height:1.8;color:#71839a}.signup-spinner{display:block;width:28px;height:28px;border:3px solid #e6eef8;border-top-color:#7194bc;border-radius:50%;animation:signup-spin .8s linear infinite;margin:0 auto 18px}@keyframes signup-spin{to{transform:rotate(360deg)}}.user-converter,.user-guide{margin-top:14px}.user-converter .field{max-width:430px;margin:20px 0}.conversion-result{background:#eff5fc;border:1px solid #e0eaf5;border-radius:10px;padding:18px;color:#345a83;line-height:1.7}.conversion-result strong{font-size:22px;display:block}.conversion-result small{display:block;margin-top:6px;color:#7b91ab}.customer-type{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e2eaf3;border-radius:8px;font-size:12px;color:#5e7896}.customer-type:has(input:checked){background:#edf4fc;border-color:#bfd1e7}.customer-type input{width:16px;height:16px;accent-color:#6b8fb7}.customer-submit-row{display:flex;gap:12px;align-items:center;justify-content:flex-end}.customer-submit-row small{font-size:10px;line-height:1.6;color:#8192a8;max-width:310px}.customer-translation{margin-top:16px}.field input:disabled{background:#f1f3f6;color:#9ba7b7}.user-converter h2,.user-guide h2{font-size:18px}[hidden]{display:none!important}@media(max-width:720px){.login-layout{padding:25px 20px;gap:20px}.login-logo{width:105px}.conversion-result strong{font-size:19px}.customer-submit-row{gap:10px}.customer-submit-row small{max-width:210px}.workspace-list-heading{flex-wrap:wrap;gap:10px}.customer-type{font-size:11px;padding:9px}.settings-category-grid .category-card{min-height:125px}}
/* Entry screens: logo above the form, quiet text navigation. */
.auth-entry-page .login-layout,.auth-entry-page .signup-layout{width:min(490px,100%);margin:0 auto;padding:24px 24px 40px;display:grid;grid-template-columns:1fr;gap:20px;align-items:start}.auth-entry-page .login-intro{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:0 2px}.auth-entry-page .login-logo{width:108px;margin:0 0 10px}.auth-entry-page .login-intro .eyebrow{font-size:9px;letter-spacing:1.7px}.auth-entry-page .login-card{padding:30px}.auth-entry-page .login-footer{margin-top:auto}.login-text-links{display:flex;justify-content:center;align-items:center;gap:17px;margin-top:22px;color:#b6c1ce}.login-text-links a{color:#72849a;font-size:12px;padding:5px 0;text-decoration:none}.login-text-links a:hover{color:#365f8e;text-decoration:underline;text-underline-offset:4px}.signup-back{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#7d8ea4;text-decoration:none;min-height:28px;margin-bottom:22px}.signup-card h2{margin:0 0 22px}.signup-card form{margin-top:0}.signup-card .field{margin:0 0 19px}.signup-card .signup-consent{margin-top:24px}.signup-email-followup{margin-top:25px;border-top:1px solid #e5ebf3;padding-top:21px}.signup-email-followup h4{margin:0 0 16px;font-size:14px}.signup-email-followup h4 small{color:#93a1b2;font-weight:400;font-size:11px}.signup-email-followup form{margin-top:0}.signup-result-label{display:inline-block;color:#567aa1;background:#edf4fb;padding:5px 9px;border-radius:5px;font-size:11px;margin-bottom:12px}#signup-result h3{margin:0 0 13px;font-size:20px;line-height:1.5}#signup-result>p{margin:0;color:#7c8ca0;line-height:1.9}.signup-result-login{display:inline-block;margin-top:24px;font-size:12px;color:#6582a3;text-decoration:none}.signup-email-followup .form-error:empty{display:none}.customer-submit-row{justify-content:flex-end;flex-wrap:nowrap;width:100%;gap:10px}.support-consent{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:#7d8fa5;white-space:nowrap;line-height:1.5}.support-consent input{width:14px;height:14px;margin:0;flex-shrink:0;accent-color:#7998ba}.customer-submit-row>.btn{flex-shrink:0}.customer-info-record{padding:18px 0}.customer-record-body{width:100%;min-width:0}.customer-record-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.customer-record-tags span{font-size:10px;line-height:1.5;padding:4px 8px;border-radius:5px;background:#edf3fa;color:#5a799c}.customer-record-tags .customer-language-tag{background:#f3f5f8;color:#8291a4}.customer-record-name{display:flex;align-items:baseline;gap:8px}.customer-record-name strong{font-size:17px;letter-spacing:-.2px;overflow-wrap:anywhere}.customer-record-phone{display:inline-block;margin-top:7px;color:#57799e;font-size:14px;text-decoration:none}.customer-record-details{margin:16px 0 0;padding:13px 14px;background:#f7f9fc;border-radius:8px}.customer-record-details>div{display:grid;grid-template-columns:65px minmax(0,1fr);gap:12px;align-items:baseline;margin:8px 0}.customer-record-details>div:first-child{margin-top:0}.customer-record-details>div:last-child{margin-bottom:0}.customer-record-details dt{font-size:11px;color:#8a9aaf}.customer-record-details dd{margin:0;font-size:13px;color:#445f7f;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.customer-incident{color:#3a6694;font-weight:600}.customer-record-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px}.customer-record-footer time{font-size:10px;color:#94a2b3}.customer-record-footer button{font-size:11px}.customer-just-added{animation:customer-arrived 2.8s ease-out;outline:0}@keyframes customer-arrived{from{background:#eaf3ff}to{background:transparent}}@media(prefers-reduced-motion:reduce){.customer-just-added{animation:none}}@media(max-width:720px){.auth-entry-page .login-layout,.auth-entry-page .signup-layout{padding:22px 20px 30px;gap:18px}.auth-entry-page .login-card{padding:25px 22px}.auth-entry-page .login-logo{width:98px}.signup-back{margin-bottom:20px}.signup-card h2{margin-bottom:23px}.customer-submit-row{gap:8px}.support-consent{font-size:10px;letter-spacing:-.35px;gap:5px}.customer-submit-row>.btn{padding-left:10px;padding-right:10px}.foreign-info-record .customer-record-name strong{font-size:16px}.customer-record-details>div{grid-template-columns:58px minmax(0,1fr);gap:9px}.customer-record-details dd{font-size:12px}}@media(max-width:360px){.support-consent{font-size:9px;letter-spacing:-.4px}.support-consent input{width:12px;height:12px}.customer-submit-row{gap:5px}}
.contact-form-panel .workspace-form-bottom{flex-wrap:wrap;gap:10px}.contact-form-panel .workspace-form-bottom>[role=status]{flex:1 0 100%;min-width:0;line-height:1.7;overflow-wrap:break-word}.contact-form-panel .workspace-form-bottom>[role=status]:empty{display:none}.customer-record-body .customer-record-phone{white-space:nowrap}
.auth-entry-page .form-error:empty{display:none}

.user-model-tabs{display:inline-flex;gap:4px;max-width:100%;padding:4px;margin:20px 0 4px;background:#eaf0f7;border-radius:10px}.user-model-tabs button{min-width:85px;padding:10px 18px;font-size:12px}.user-installer-note{font-size:12px;color:#7890ab;line-height:1.7;margin:-7px 0 18px}.user-converter .field{margin-bottom:16px}@media(max-width:720px){.user-model-tabs{margin-top:18px}.user-model-tabs button{min-width:76px;padding:10px 16px}.user-installer-note{font-size:11px}}

/* Approved personal welcome after a successful employee-roster match. */
.auth-entry-page .signup-card.is-complete{padding:0;overflow:hidden}.signup-card.is-complete .signup-back{margin:20px 25px 0}.signup-welcome-hero{margin:20px 12px 0;padding:30px 21px 28px;background:#eaf2fc;border-radius:13px}.signup-welcome-eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:600;color:#7f98b4;margin:0 0 22px;line-height:1.6}.signup-welcome-title{font-size:29px;line-height:1.55;letter-spacing:-1.2px;color:#1d426e;margin:0;font-weight:700;word-break:keep-all}.signup-welcome-title em{font-style:normal;color:#386eab}.signup-welcome-sub{font-size:12px;line-height:1.95;color:#7389a3;margin:24px 0 0;word-break:keep-all}.signup-welcome-sub strong{font-weight:600;color:#58799f;overflow-wrap:anywhere}.signup-welcome-account{padding:23px 25px 26px}.signup-welcome-complete{font-size:13px;font-weight:600;color:#496b91;margin:0 0 10px;line-height:1.6}.signup-welcome-credentials{font-size:11px;color:#8a9aad;line-height:1.9;margin:0;word-break:keep-all}@media(max-width:380px){.signup-welcome-hero{padding:28px 18px}.signup-welcome-title{font-size:27px}.signup-welcome-account{padding:22px}}

/* Ten-second staff-roster comparison, using the supplied Hanbiro roster. */
.roster-check{padding:8px 0 12px}.roster-check-eyebrow{font-size:9px;letter-spacing:1.7px;color:#8a9db5;font-weight:600;margin:0 0 18px;line-height:1.5}#signup-result .roster-check h3{font-size:25px;line-height:1.5;letter-spacing:-.8px;color:#284d79;margin:0 0 14px}.roster-check-description{font-size:12px;line-height:1.9;color:#8395ad;margin:0 0 27px}.roster-match-sheet{position:relative;overflow:hidden;background:#f2f6fc;border:1px solid #e1eaf5;border-radius:12px;padding:16px 17px}.roster-sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#8c9db2;margin-bottom:15px}.roster-live{display:inline-flex;gap:5px;align-items:center;color:#6b8eb6}.roster-live i{width:5px;height:5px;border-radius:50%;background:#8eafd2;animation:roster-pulse 2.4s ease-in-out infinite}.roster-match-sheet dl{margin:0}.roster-match-sheet dl>div{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:baseline;gap:13px;padding:10px 0}.roster-match-sheet dl>div+div{border-top:1px solid #e3ebf6}.roster-match-sheet dt{font-size:11px;color:#8b9db4}.roster-match-sheet dd{font-size:14px;font-weight:600;letter-spacing:.4px;color:#486b93;margin:0;overflow-wrap:anywhere}.roster-scan-line{position:absolute;inset:0;pointer-events:none;overflow:hidden}.roster-scan-line:after{content:'';position:absolute;left:0;right:0;height:44px;top:0;background:linear-gradient(transparent,#b3d0f02b,transparent);animation:roster-scan 4s ease-in-out infinite}.roster-progress-track{height:3px;overflow:hidden;background:#eaf0f8;border-radius:4px;margin-top:24px}.roster-progress-track>span{display:block;width:92%;height:100%;border-radius:4px;background:#9dbbdf;transform-origin:left;animation:roster-progress 10s cubic-bezier(.2,.6,.3,1) both}.roster-stages{list-style:none;display:flex;justify-content:space-between;gap:7px;padding:0;margin:16px 0 0}.roster-stages li{display:flex;flex-direction:column;align-items:center;gap:8px;color:#a5b1c0;font-size:9px;line-height:1.6;text-align:center;flex:1}.roster-stages li>span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;color:#9aabbe;background:#f0f4f9;font-size:9px;transition:background .2s,color .2s}.roster-stages li.active{color:#6285af}.roster-stages li.active>span{color:#557eaf;background:#e3edf9}@keyframes roster-progress{from{transform:scaleX(.03)}to{transform:scaleX(1)}}@keyframes roster-scan{from{transform:translateY(-45px)}to{transform:translateY(220px)}}@keyframes roster-pulse{0%,100%{opacity:.4}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.roster-live i,.roster-scan-line:after,.roster-progress-track>span{animation:none}.roster-scan-line{display:none}.roster-progress-track>span{width:70%}.roster-stages li>span{transition:none}}

.manual-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detector-photo{max-width:100%;max-height:100%}.detector-list-card h2{font-size:23px}.detector-overview-picture{min-height:130px}.detector-summary-note{font-size:12px;color:#8b9bb0;line-height:1.7;margin:7px 0 12px}.detector-alignment{margin-top:18px}.detector-alignment h2{font-size:19px;color:#345779;margin:0 0 14px}.detector-guide-lead{font-size:13px;line-height:1.9;color:#7d91aa;margin:0 0 24px}.detector-guide-lead strong{color:#506f94}.detector-adjust-steps{list-style:none;margin:0;padding:0;display:grid;gap:20px}.detector-adjust-steps li{display:flex;align-items:flex-start;gap:12px}.detector-adjust-steps li>span{background:#edf3fb;color:#7796b8;display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:8px;font-size:12px;font-weight:600}.detector-adjust-steps strong{font-size:13px;color:#557494;line-height:1.7}.detector-adjust-steps p{font-size:12px;color:#8699b0;line-height:1.9;margin:5px 0 0}.detector-voltage-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:27px 0 12px}.detector-voltage-heading h3{font-size:14px;color:#4c6b8f;margin:0}.detector-voltage-heading small{font-size:10px;color:#92a2b6}.detector-voltage-table{width:100%;border-collapse:collapse;font-size:12px;color:#627f9f;text-align:left}.detector-voltage-table th{background:#f3f7fc;font-size:11px;font-weight:500;color:#879bb3;padding:13px 12px}.detector-voltage-table td{padding:16px 12px;border-bottom:1px solid #e8eef6;white-space:nowrap}.detector-voltage-table td:first-child{font-weight:600;color:#496a90;font-variant-numeric:tabular-nums}.detector-led{display:inline-block;width:6px;height:6px;background:#82aa97;border-radius:50%;margin-right:7px;vertical-align:middle}.detector-led.off{background:#bec8d4}.detector-grade{background:#edf4fc;color:#6483a8;font-size:11px;padding:5px 8px;border-radius:5px}.detector-grade.readjust{background:#f5f0eb;color:#a18a72}.detector-finish{background:#f5f8fc;padding:16px;border-radius:9px;margin-top:20px}.detector-finish strong{font-size:12px;color:#5c7da1}.detector-finish p{font-size:12px;color:#879bb3;line-height:1.8;margin:6px 0 0}.detector-alignment .source-note{margin-bottom:0;margin-top:16px}@media(max-width:720px){.detector-list-card h2{font-size:18px}.detector-list-card{grid-template-columns:85px minmax(0,1fr)}.detector-alignment h2{font-size:17px}.detector-guide-lead{font-size:12px}.detector-adjust-steps strong{font-size:12px}.detector-adjust-steps p{font-size:11px}.detector-voltage-table th{font-size:10px;padding:11px 7px}.detector-voltage-table td{font-size:11px;padding:15px 7px}.detector-voltage-heading small{font-size:9px}.detector-overview-picture{min-height:100px}.detector-summary-note{font-size:10px}}

.sensitivity-options{display:grid;gap:12px}.sensitivity-option{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:center;padding:18px;background:#f6f9fd;border:1px solid #e7edf6;border-radius:11px}.sensitivity-setting{display:flex;gap:12px;align-items:center;color:#6583a6}.sensitivity-setting>strong{font-size:19px;color:#4b6d95;min-width:16px}.sensitivity-diagram{width:80px;height:40px;overflow:visible}.sensitivity-option h3{font-size:13px;color:#577698;margin:0 0 5px;line-height:1.6}.sensitivity-option p{font-size:12px;color:#8b9db2;line-height:1.8;margin:0}.detector-original{display:inline-block;margin-bottom:12px}.signup-card.is-complete .signup-welcome-account{padding:22px 25px 20px}.signup-card.is-complete .signup-welcome-hero{margin-top:0;margin-bottom:12px}.signup-card.is-complete .signup-welcome-complete{font-size:14px;margin-bottom:8px}@media(max-width:720px){.sensitivity-option{grid-template-columns:85px minmax(0,1fr);gap:13px;padding:15px 12px}.sensitivity-setting{gap:7px}.sensitivity-diagram{width:62px;height:34px}.sensitivity-setting>strong{font-size:17px;min-width:12px}.sensitivity-option h3{font-size:12px}.sensitivity-option p{font-size:11px}.signup-card.is-complete .signup-welcome-account{padding:20px 24px 21px}}
@media(max-width:720px){.manual-category-grid .category-card{grid-template-columns:52px minmax(0,1fr);gap:9px;padding:14px 10px}.manual-category-grid .category-card h2{font-size:16px;display:flex;align-items:center;justify-content:space-between;gap:3px}.manual-category-grid .category-card h2 span{font-size:15px}.manual-category-grid .category-card p{font-size:10px;line-height:1.7}.manual-category-grid .category-card small{font-size:9px;line-height:1.7}.manual-category-grid .category-images{height:80px}.detector-list-card{grid-template-columns:1fr}.detector-list-card .device-card-picture{height:105px;padding:14px 20px 3px}.detector-list-card .device-card-text{padding:10px 12px 15px}.detector-list-card h2{font-size:16px;white-space:nowrap}.detector-list-card strong{font-size:9px;line-height:1.7}}

.detector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detector-grid .device-card{min-width:0}

.lock-category-card .device-card-picture{display:flex;align-items:center;gap:12px}.lock-category-card .lock-photo{width:46%;height:100%;object-fit:contain}.locks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.lock-card{display:grid;grid-template-columns:36% minmax(0,1fr);gap:20px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;align-items:center;min-width:0}.lock-picture{height:190px;display:flex;align-items:center;justify-content:center}.lock-photo{display:block;width:100%;height:100%;object-fit:contain}.lock-content h2{font-size:21px;color:#233b57;margin:0 0 6px}.lock-content>small{font-size:10px;color:#8a9bb0}.lock-content>p{font-size:12px;line-height:1.8;color:#8295ad;margin:12px 0}.lock-specs{margin:14px 0 0;font-size:12px}.lock-specs>div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;padding:9px 0;border-top:1px solid #edf1f6}.lock-specs dt{color:#93a2b5}.lock-specs dd{margin:0;color:#5c7796;line-height:1.6}.lock-content .lock-info-note{font-size:11px;color:#93a2b5}@media(max-width:1000px){.lock-card{grid-template-columns:30% minmax(0,1fr);padding:18px;gap:15px}.lock-content h2{font-size:18px}.lock-picture{height:155px}}@media(max-width:720px){.locks-grid{gap:12px;margin-top:18px}.lock-card{grid-template-columns:1fr;gap:8px;padding:16px 13px;align-items:start}.lock-picture{height:115px}.lock-photo{max-width:145px}.lock-photo-strike{max-width:65px}.lock-content h2{font-size:16px}.lock-content>small{font-size:8px}.lock-content>p{font-size:10px;margin:9px 0}.lock-specs{font-size:10px}.lock-specs>div{grid-template-columns:40px minmax(0,1fr);gap:4px;padding:8px 0}.lock-content .lock-info-note{font-size:10px}}
.lock-card{align-items:start}.lock-picture{align-self:center}
@media(max-width:720px){.lock-card{grid-template-rows:115px 1fr}}

.lock-list-grid{margin-top:17px}.lock-list-grid .lock-photo{height:100%;width:100%;max-width:none}.lock-list-grid .lock-photo-strike{max-width:70px;margin:auto}.lock-detail{margin-top:24px}.lock-detail .lock-photo{height:125px}.lock-detail .lock-photo-strike{max-width:60px;margin:auto}

.translation-output{white-space:pre-wrap;overflow-wrap:anywhere}.translator textarea{min-height:140px}.translator [data-status]{font-size:12px;color:#7388a2;line-height:1.7}.translator{margin-top:18px}

.program-item .program-download{margin-top:20px}
.translator>h2{font-size:19px;margin:0 0 12px;color:#304d6e}.translator .translation-output{color:#20354f;font-size:16px;line-height:1.85;min-height:130px}.translator .translation-output.has-result{color:#162b45;font-weight:500}.translator .translation-action{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0 22px}.translator .translation-action button{margin-left:auto;min-width:110px}.translator .translation-result-label{margin-bottom:10px}.translation-refinement{font-size:13px;line-height:1.9;color:#75889f;margin:12px 0 0;overflow-wrap:anywhere}.translation-refinement strong{color:#294c73;font-weight:500}.translator [data-source]{font-size:14px;min-height:110px}.translator [data-copy]{margin-top:12px}@media(max-width:720px){.translator .translation-output{font-size:15px}.translation-refinement{font-size:12px}}

.field-category-mark{height:150px;display:grid;place-items:center;color:#8193aa;background:#f5f7fa;border-radius:12px}.field-category-mark svg{width:62px;height:62px}.field-manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field-manual-card{display:flex;align-items:center;gap:16px;min-height:118px;padding:24px;background:#fff;border:1px solid #e1e7ef;border-radius:16px;color:#263a52;text-decoration:none;transition:border-color .15s,background .15s}.field-manual-card:hover{border-color:#bacce2;background:#fafcff}.field-manual-number{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:10px;background:#f1f4f8;color:#8896a8;font-size:12px}.field-manual-card h2{margin:0;font-size:17px;line-height:1.6;overflow-wrap:anywhere}.field-manual-card p{margin:5px 0 0;font-size:12px;color:#8391a5}.field-manual-arrow{margin-left:auto;color:#a6b4c6;flex-shrink:0}@media(max-width:640px){.field-manual-grid{grid-template-columns:1fr;gap:10px}.field-manual-card{padding:20px;min-height:94px}.field-manual-card h2{font-size:15px}.field-category-mark{height:120px}}

.field-manual-number.has-content{background:#edf4ff;color:#1762bd}
/* Shared editorial banners: natural height, no clipping or truncation. */
.managed-banner{box-sizing:border-box;min-width:0;min-height:0;height:auto;overflow:visible}.managed-banner[aria-busy=true]>*{visibility:hidden}.managed-banner .banner-title{display:block;font-size:34px;line-height:1.45;letter-spacing:-1px;margin:0;color:#193e68;font-weight:750;word-break:keep-all;overflow-wrap:anywhere}.managed-banner .banner-line{display:block;color:inherit!important;white-space:normal}.managed-banner .banner-line em{color:#0755ab;font-style:normal}.managed-banner .banner-title.banner-compact{font-size:30px}.managed-banner .eyebrow{overflow-wrap:anywhere}.managed-banner .banner-subtitle{font-size:14px;line-height:1.8;margin:15px 0 0;word-break:keep-all;overflow-wrap:anywhere}.banner-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.banner-stats>div{background:#fff;border:1px solid #e1e8f1;border-radius:14px;padding:18px}.banner-stats strong{display:block;font-size:25px;color:#25476e}.banner-stats span{display:block;margin-top:5px;font-size:12px;color:#8292a7}.banner-policy,.banner-preview-conditions{margin-bottom:18px}.banner-policy summary,.banner-history summary{font-size:15px;font-weight:650;color:#304b6b;cursor:pointer}.banner-policy>p{font-size:12px;line-height:1.9;color:#71839a}.banner-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px}.banner-full{grid-column:1/-1}.banner-settings-grid .field{margin:0;min-width:0}.banner-settings-grid input,.banner-settings-grid select,.banner-settings-grid textarea{width:100%;box-sizing:border-box}.banner-settings-grid small{font-size:11px;line-height:1.7;color:#8293a8}.banner-preview-conditions h2{font-size:15px}.banner-preview-conditions small{font-size:11px;color:#8293a8}.banner-preview-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:15px 0}.banner-preview-actions label{font-size:12px;color:#607b9a}.banner-list-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0 15px}.banner-list-tools input{flex:1;min-width:180px}.banner-list-tools input,.banner-list-tools select{border:1px solid #dce5ef;border-radius:9px;background:white;color:#395574;padding:10px;font-size:12px}.banner-list-tools span{font-size:11px;color:#8293a8}.banner-admin-grid{display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.banner-admin-item{background:#fff;border:1px solid #e0e8f2;border-radius:16px;padding:17px;min-width:0}.banner-item-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.banner-enable{display:flex;align-items:center;gap:7px;font-size:12px;color:#456687;white-space:nowrap}.banner-enable input{accent-color:#1762bd;width:15px;height:15px}.banner-item-id{font-size:10px;color:#9aa8b9}.banner-pool-badge{margin-left:auto;font-size:10px;color:#91a0b2;padding:4px 7px;background:#f4f6f9;border-radius:6px}.banner-pool-badge.available{color:#2261a4;background:#edf4ff}.banner-mini-preview{padding:23px!important;border-radius:12px!important;min-height:0}.banner-mini-preview .welcome-top{margin-bottom:17px!important}.banner-mini-preview .eyebrow{font-size:8px;letter-spacing:1.5px}.banner-mini-preview .banner-title,.banner-mini-preview .banner-title.banner-compact{font-size:21px;line-height:1.5;letter-spacing:-.6px}.banner-mini-preview .banner-subtitle{font-size:11px;line-height:1.8;margin-top:15px}.banner-item-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:13px}.banner-condition-tags{display:flex;gap:5px;flex-wrap:wrap}.banner-condition-tags span{padding:4px 7px;border-radius:5px;background:#f5f7fa;color:#7890aa;font-size:10px}.banner-item-bottom .text-btn{font-size:11px}.banner-delete{color:#9b7d82;margin-left:10px}.banner-history{margin-top:22px}.banner-history .field{max-width:350px;margin-top:18px}.banner-history td small{display:block;font-size:9px;color:#9aa9b9}.banner-editor-preview{padding:25px!important;min-height:0}.banner-editor-preview .banner-title,.banner-editor-preview .banner-title.banner-compact{font-size:24px}.banner-editor-preview .banner-subtitle{font-size:12px}#banner-members{border:1px solid #dce5ef;border-radius:10px;max-height:240px;overflow-y:auto;padding:13px}#banner-members label{display:flex;gap:7px;align-items:center;padding:7px;font-size:12px}#banner-members input{width:15px}#banner-members small{margin-left:auto}.banner-history table{font-size:11px}
@media(max-width:1000px){.banner-admin-grid{grid-template-columns:1fr}}
@media(max-width:720px){.managed-banner{min-height:0}.managed-banner .banner-title{font-size:clamp(21px,5.65vw,27px);line-height:1.5;letter-spacing:-.7px}.managed-banner .banner-title.banner-compact{font-size:clamp(20px,5.25vw,25px)}.managed-banner .banner-subtitle{font-size:12px;line-height:1.85;margin-top:16px}.managed-banner .eyebrow{font-size:8px;letter-spacing:1.4px;line-height:1.8}.banner-stats{gap:7px}.banner-stats>div{padding:13px 10px}.banner-stats strong{font-size:21px}.banner-stats span{font-size:10px}.banner-settings-grid{grid-template-columns:1fr;gap:14px}.banner-preview-actions{gap:10px}.banner-list-tools{gap:7px}.banner-list-tools select{max-width:48%}.banner-list-tools input{flex-basis:100%;min-width:0}.banner-admin-item{padding:12px}.banner-mini-preview{padding:20px!important;min-height:0}.banner-mini-preview .banner-title,.banner-mini-preview .banner-title.banner-compact{font-size:21px}.banner-mini-preview .banner-subtitle{font-size:11px}.banner-editor-preview .banner-title,.banner-editor-preview .banner-title.banner-compact{font-size:22px}.banner-item-bottom .text-btn{padding:5px 0}.banner-condition-tags span{font-size:9px}}

.document-toolbar,.document-actions{display:flex;align-items:center;gap:10px}.document-toolbar{justify-content:space-between;margin-bottom:18px}.document-actions{flex-shrink:0}.document-title{font-size:24px;margin:0 0 6px;color:#294b70}.document-hint{font-size:12px;color:#8192a8;margin:0 0 16px}.document-paper{max-width:794px;margin:auto;background:white;border:1px solid #dfe6ef;box-shadow:0 6px 22px #22395608}.document-paper img{display:block;width:100%;height:auto}.document-toolbar .back-link{font-size:13px;color:#6e84a0;text-decoration:none}.document-actions .btn{white-space:nowrap}@media(max-width:720px){.workspace-record:has(.document-actions){flex-wrap:wrap;gap:12px}.workspace-record>.document-actions{margin-left:auto}.document-toolbar{gap:8px}.document-actions{gap:7px}.document-actions .btn{padding:10px 12px;font-size:12px}.document-title{font-size:21px}}
@media print{@page{size:A4 portrait;margin:0}body.printing-document{margin:0!important;padding:0!important;background:white!important}body.printing-document>*{display:none!important}body.printing-document>.shell{display:block!important}body.printing-document .sidebar,body.printing-document header,body.printing-document .topbar,body.printing-document .footer,body.printing-document footer,body.printing-document .document-toolbar,body.printing-document .document-title,body.printing-document .document-hint{display:none!important}body.printing-document .shell,body.printing-document .main,body.printing-document #main,body.printing-document .content,body.printing-document #document-preview{display:block!important;margin:0!important;padding:0!important;width:210mm!important;max-width:none!important}body.printing-document .document-paper{margin:0!important;border:0!important;box-shadow:none!important;width:210mm!important;max-width:none!important;height:297mm!important;break-inside:avoid}body.printing-document .document-paper img{width:210mm!important;height:297mm!important;display:block!important}}
.document-tabs{display:flex;gap:8px;margin:14px 0}.document-tabs a{padding:10px 14px;border:1px solid #e0e7f1;border-radius:9px;font-size:13px;color:#7d8fa5;text-decoration:none;background:white}.document-tabs a.active{color:#426c9c;background:#edf4ff;border-color:#d2e1f5}.document-tabs span{margin-left:3px}.draft-heading{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.draft-heading .field{margin:0;min-width:240px;flex:1;max-width:480px}.draft-heading p{font-size:12px;color:#7990aa}.draft-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;font-size:12px;color:#7990aa}.draft-tools select{margin-left:6px;border:1px solid #dce5f1;padding:7px;border-radius:7px;background:white;color:#607a99}.draft-scroll{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.draft-paper{width:100%;max-width:none;margin:0;box-sizing:border-box}.draft-paper canvas{width:100%;height:auto;display:block;cursor:crosshair}.draft-fields{margin-top:16px;padding:18px}.draft-fields h2{font-size:15px;margin:0 0 8px;color:#425d7d}.draft-fields h2 span{font-size:12px;color:#8c9bb0;margin-left:4px}.draft-field-item{display:block;text-align:left;border:0;border-bottom:1px solid #eaf0f6;padding:13px 2px;color:#536f91;background:transparent;width:100%;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;cursor:pointer}.document-input-dialog{width:min(460px,calc(100% - 28px));border:1px solid #dce6f3;border-radius:16px;padding:22px;background:white;max-height:88dvh;overflow:auto;color:#48627e}.document-input-dialog::backdrop{background:#253d5655}.document-input-dialog h2{font-size:18px;margin:0 0 18px}.document-input-dialog textarea{font-size:16px;resize:vertical;min-height:90px}.document-input-dialog .field input,.document-input-dialog .field select{font-size:16px;min-width:0}.draft-options{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.draft-dialog-actions{display:flex;gap:8px;justify-content:flex-end}.error{color:#b44e51!important;font-size:12px;line-height:1.6}.draft-dialog-actions .btn{white-space:nowrap}.document-input-dialog .field{margin-bottom:14px}.document-toolbar:has(#draft-save){flex-wrap:wrap}#document-editor .document-paper{max-width:none}@media(min-width:1100px){.draft-scroll{max-width:850px}}@media(max-width:720px){.document-toolbar .document-actions{flex-wrap:wrap}.document-toolbar:has(#draft-save){gap:12px}.document-toolbar:has(#draft-save) .document-actions{width:100%;justify-content:flex-end}.document-input-dialog{padding:18px}.draft-heading{gap:6px}.draft-heading .field{max-width:none}.draft-heading p{margin:4px 0}.draft-tools{font-size:11px}.workspace-record>.document-actions{flex-wrap:wrap;justify-content:flex-end}}
@media print{body.printing-document .draft-heading,body.printing-document .draft-tools,body.printing-document .draft-fields,body.printing-document .document-input-dialog{display:none!important}body.printing-document .draft-scroll{max-width:none!important;overflow:visible!important}body.printing-document .draft-paper canvas{width:210mm!important;height:297mm!important;display:block!important}body.printing-document #document-editor{margin:0!important;padding:0!important;width:210mm!important}}
.draft-paper{position:relative;cursor:crosshair}.draft-paper #draft-background{display:block;width:100%;height:auto}.draft-paper #draft-canvas{display:none}#draft-overlays{position:absolute;inset:0;pointer-events:none}.draft-overlay{position:absolute;white-space:pre;line-height:1.35;color:#111;font-family:Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-weight:400;text-align:left}@media print{body.printing-document .draft-paper #draft-background,body.printing-document #draft-overlays{display:none!important}body.printing-document .draft-paper #draft-canvas{display:block!important;width:210mm!important;height:297mm!important}}
.staff-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.staff-category{padding:24px;display:block}.staff-category>span,.approval-kind{font-size:10px;color:#7894b4;background:#edf4fe;padding:4px 7px;border-radius:5px}.staff-category h2{font-size:17px;color:#345273;margin:18px 0 8px}.staff-category p{font-size:12px;color:#8495ac;line-height:1.7;margin:0}.staff-list-tools{display:flex;gap:12px;margin-bottom:16px;justify-content:space-between}.staff-search-box{flex:1;max-width:500px}.staff-search-box input{width:100%;border:1px solid #dfe7f2;border-radius:9px;background:white;padding:12px 14px;color:#526e90}.staff-month-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#8393a9}.staff-month-label select{padding:10px;border:1px solid #dfe7f2;border-radius:8px;background:white;color:#5a7698}.staff-group{margin-bottom:14px;padding:21px}.staff-group h2{font-size:17px;color:#355575;margin:0 0 16px}.staff-group h2 small{font-size:11px;color:#92a2b7;font-weight:400;margin-left:6px}.staff-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.staff-person{display:flex;align-items:center;gap:10px;padding:12px;background:#f7f9fc;border:1px solid #e9eef5;border-radius:9px;min-width:0}.staff-person strong{font-size:14px;color:#415e7f;overflow-wrap:anywhere}.staff-person small{display:block;font-size:11px;color:#8c9db2;margin-top:4px}.duty-role{font-size:11px;color:#7090b4;min-width:32px}.staff-leader{display:flex;gap:18px;align-items:center;padding:18px 21px;margin-bottom:14px;background:#edf4fe}.staff-leader>span{font-size:12px;color:#7491b3}.staff-leader .staff-person{background:transparent;border:0;padding:0}.staff-search-bottom{display:flex;gap:12px;align-items:center;justify-content:space-between}.staff-search-bottom small{font-size:11px;color:#8d9cb0}.staff-verified{margin-top:16px}.staff-verdict{font-size:15px;font-weight:600;color:#43688f;margin-bottom:18px}.staff-search-person{padding:12px 0;border-bottom:1px solid #edf1f6}.staff-search-person strong{font-size:18px;color:#345273}.staff-search-person p{font-size:13px;color:#8294aa}.staff-masked-name{padding:12px 0;border-bottom:1px solid #edf1f6;color:#5a7695;font-size:14px}.duty-top-actions{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:16px}.duty-top-actions p{font-size:12px;color:#8798af;line-height:1.6}.duty-card{padding:20px}.duty-current-card{background:#f3f7fe;border-color:#d7e4f7;margin-bottom:25px}.duty-card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.duty-card-title h3{font-size:15px;color:#3d5c80;margin:8px 0}.duty-card-title h3 span{margin-left:8px;font-size:13px;color:#8296b1;font-weight:500}.duty-time{font-size:10px;color:#90a0b6}.duty-live{font-size:10px;color:#567da6;background:#e5effc;padding:4px 8px;border-radius:5px}.duty-roles h4{font-size:12px;color:#788fab;margin:0 0 9px}.duty-roles h4 small{font-weight:400;font-size:10px;margin-left:3px}.duty-roles>div+div{margin-top:15px}.duty-control-list,.duty-car-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.duty-slot{display:flex;align-items:center;gap:10px;border:1px solid #e2e9f4;background:white;padding:12px;border-radius:9px;min-width:0}.duty-slot>span{font-size:11px;min-width:30px;color:#8399b4}.duty-slot strong{font-size:13px;color:#435e7f;overflow-wrap:anywhere}.duty-slot small{display:block;font-size:10px;color:#96a5b7;margin-top:4px}.duty-slot em{font-size:9px;font-style:normal;color:#7595bb;display:inline-block}.duty-slot.unassigned strong{color:#b98361;font-size:11px}.duty-support{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:15px;font-size:11px;color:#8b9db3}.duty-support strong{color:#557395;font-size:12px}.duty-note{font-size:10px;color:#95a4b6;line-height:1.7;margin:12px 0 0}.duty-date-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between;margin:20px 0}.duty-date-tools h2{font-size:17px;color:#385777;margin:0}.duty-date-tools label{font-size:11px;color:#8a9cb3;display:flex;align-items:center;gap:8px}.duty-date-tools input{background:white;border:1px solid #dfe6f1;border-radius:8px;color:#6c85a4;padding:9px}.duty-day{margin:20px 0}.duty-day>h2{font-size:14px;color:#49698e;margin:0 0 12px}.duty-day>h2 small{font-size:11px;font-weight:400;color:#96a6bb;margin-left:8px}.duty-shift-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.duty-shift-pair .duty-car-list,.duty-shift-pair .duty-control-list{grid-template-columns:repeat(2,minmax(0,1fr))}.duty-shift-pair .duty-card-title{align-items:flex-start;flex-direction:column;margin-bottom:14px;gap:0}.duty-original-wrap{margin-top:18px;background:white;padding:12px;border:1px solid #e0e7f0;overflow:auto}.duty-original-wrap img{display:block;width:100%;min-width:850px;height:auto}.staff-admin-dates{display:grid;grid-template-columns:1fr 1fr;gap:14px}.absence-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #e9eef5;padding:16px 0;margin-top:16px}.absence-row strong{font-size:14px;color:#4b6788}.absence-row p{font-size:12px;color:#92a2b7}.absence-row label{font-size:12px;color:#6e8bac;display:flex;gap:8px;align-items:center}.approval-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;padding:20px}.approval-row h3{font-size:15px;color:#48678b;margin:12px 0 7px}.approval-row h3 small{font-size:11px;color:#92a1b6;font-weight:400}.approval-row p,.approval-row small{font-size:11px;color:#8c9db4}.approval-row .document-actions{white-space:nowrap}@media(max-width:1000px){.duty-shift-pair{grid-template-columns:1fr}.staff-category-grid{grid-template-columns:1fr}.staff-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.staff-category{padding:20px}.staff-category h2{font-size:16px;margin-top:14px}.staff-person{padding:11px 9px;gap:7px}.staff-person strong{font-size:12px}.staff-person small{font-size:10px}.staff-group{padding:16px}.staff-list-tools{gap:8px;flex-wrap:wrap}.staff-search-box{min-width:160px}.staff-month-label{font-size:10px}.staff-month-label select{font-size:11px;padding:8px}.staff-search-bottom{align-items:flex-end}.staff-search-bottom small{font-size:10px;max-width:220px;line-height:1.6}.duty-top-actions{align-items:flex-start;gap:10px;flex-wrap:wrap}.duty-card{padding:16px}.duty-control-list,.duty-car-list{grid-template-columns:repeat(2,minmax(0,1fr))}.duty-slot{padding:11px 9px;gap:7px}.duty-slot strong{font-size:12px}.duty-slot>span{font-size:10px;min-width:25px}.duty-time{font-size:9px}.duty-card-title{align-items:flex-start;flex-direction:column;gap:0}.duty-date-tools h2{font-size:15px}.duty-date-tools input{padding:8px;font-size:12px}.approval-row{padding:16px;align-items:flex-start;flex-wrap:wrap}.approval-row .document-actions{margin-left:auto}.staff-admin-dates{gap:10px}.staff-admin-dates input{min-width:0;font-size:13px}}
.duty-current-card{position:relative;touch-action:pan-y}.duty-card-title{padding-right:116px;min-width:0}.duty-card-title h3{white-space:nowrap}.duty-state-badges{display:flex;gap:6px;align-items:center}.duty-handover{font-size:10px;background:#f3eadf;color:#ac8d6d;padding:4px 8px;border-radius:5px}.duty-person-pair{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.duty-person-side{display:flex;gap:7px;align-items:center;flex:1;min-width:0}.duty-person-name{min-width:0}.duty-support-badge{font-size:9px!important;padding:3px 6px;background:#edf2fa;color:#8299b7!important;border-radius:5px;min-width:0!important;flex:none;margin-left:auto;white-space:nowrap}.handover-arrow{color:#a7b5c8;font-size:12px;flex:none}.duty-support-reason{color:#8a9db4;font-size:10px;margin-left:8px}.duty-next-label{font-size:10px;color:#91a2b8;margin:12px 0 0}.duty-swipe-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:-10px}.duty-swipe-hint{text-align:center;font-size:10px;color:#9aa9bb;margin-top:12px}.duty-mini-calendar{position:absolute;right:20px;top:17px;width:100px;color:#9baabd;font-size:7px;pointer-events:none}.duty-mini-calendar>strong{display:block;text-align:center;font-size:8px;font-weight:500;margin-bottom:4px;color:#8b9eb7}.mini-week,.mini-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:1px}.mini-days>span,.mini-week>span{display:grid;place-items:center;height:11px;line-height:1}.duty-mini-calendar .holiday{color:#c29295}.duty-mini-calendar .saturday{color:#9aafc8}.mini-days .today{border-radius:50%;width:12px;justify-self:center}.mini-days .today.day{background:#f3dfe1;color:#bd8f94}.mini-days .today.night{background:#e0eafa;color:#829fbe}.mini-days .viewed{font-weight:700;text-decoration:underline;text-underline-offset:2px}.duty-lookup-dialog,.document-leave-dialog{border:1px solid #e0e7f1;border-radius:14px;padding:24px;color:#4c6582;width:min(420px,calc(100% - 30px))}.duty-lookup-dialog::backdrop,.document-leave-dialog::backdrop{background:#1d33444d}.duty-lookup-dialog h2,.document-leave-dialog h2{font-size:17px;margin-bottom:18px}.document-leave-dialog p{font-size:13px;color:#8597ae}.document-leave-dialog>div{display:flex;flex-wrap:wrap;gap:10px}.duty-top-actions{justify-content:space-between}.duty-top-actions p{margin-right:auto}.duty-top-actions>.btn{font-size:11px}.draft-overlay{border:0;padding:0;background:transparent;border-radius:2px;pointer-events:auto;touch-action:none;cursor:grab;min-height:20px;display:block;outline:1px solid transparent;transition:outline-color .15s}.draft-overlay:hover,.draft-overlay:focus,.draft-overlay.dragging{outline-color:#a4bbd7;background:#d9e8fb33}.draft-overlay.dragging{cursor:grabbing}.draft-size-controls{display:flex;align-items:center;gap:6px}.draft-size-controls input{min-width:0;width:70px}.draft-size-controls button{font-size:20px;width:30px;padding:5px}.draft-list-mode{display:flex;justify-content:flex-end;padding:10px 0}.draft-tools{font-size:11px}.handover-card .duty-slot{align-items:flex-start}.handover-card .duty-person-pair{flex-wrap:wrap}.handover-card .duty-person-side{flex-basis:calc(50% - 20px)}
@media(max-width:720px){.duty-card-title{padding-right:102px}.duty-card-title h3{font-size:13px}.duty-card-title h3 span{font-size:11px;margin-left:5px}.duty-card-title .duty-time{font-size:9px}.duty-mini-calendar{right:14px;top:15px;width:92px;font-size:6.5px}.duty-mini-calendar>strong{font-size:7px}.mini-days>span,.mini-week>span{height:10px}.mini-days .today{width:11px}.duty-support-reason{margin-left:0;flex-basis:100%;line-height:1.7}.duty-support{gap:8px}.duty-support-badge{font-size:8px!important;padding:3px 5px}.duty-person-side{gap:3px}.handover-card .duty-slot{padding:10px 8px;gap:5px;flex-wrap:wrap}.handover-card .duty-person-pair{flex-basis:100%;gap:5px}.handover-card .duty-person-side{flex-basis:calc(50% - 12px)}.handover-card .duty-slot strong{font-size:11px}.handover-card .duty-support-badge{font-size:7px!important;padding:2px 3px}.duty-swipe-controls .text-btn{font-size:11px}.duty-top-actions{gap:8px;flex-wrap:wrap}.duty-top-actions p{flex-basis:100%;margin:0 0 4px}.duty-top-actions .btn{padding:9px 12px;font-size:10px}.document-toolbar .document-actions{flex-wrap:wrap}.document-leave-dialog{padding:20px}.draft-fields .document-hint{line-height:1.8}}
@media(max-width:360px){.duty-card-title h3{font-size:11px}.duty-card-title h3 span{font-size:9px;margin-left:3px}.duty-card-title .duty-time{font-size:8px}.duty-card-title{padding-right:96px}.duty-live,.duty-handover{font-size:8px;padding:4px 6px}.duty-mini-calendar{width:86px}.duty-state-badges{gap:4px}}
#document-editor[data-loading] .draft-paper{pointer-events:none;opacity:.7}

/* Compact duty header, with readable dates and no calendar reservation. */
.duty-page-heading{margin-bottom:18px}.duty-page-heading .crumbs{margin-bottom:12px}.duty-page-heading .device-heading{margin-bottom:14px}.duty-page-heading .device-heading h1{margin-bottom:0}.duty-page-heading .duty-top-actions{margin:0;gap:10px;justify-content:flex-end}.duty-card-title{padding-right:0}.duty-card-title h3{font-size:25px;white-space:normal;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-top:0}.duty-card-title h3 span{font-size:18px;margin-left:0}.duty-state-badges{margin-bottom:12px}.session-recheck{position:fixed;inset:0;z-index:2147483647;background:#f6f8fc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#456382;text-align:center;padding:24px}
@media(max-width:720px){.duty-page-heading{margin-bottom:14px}.duty-page-heading .device-heading{margin-bottom:12px}.duty-page-heading .duty-top-actions{justify-content:space-between}.duty-card-title{padding-right:0}.duty-card-title h3{font-size:22px;gap:6px 12px}.duty-card-title h3 span{font-size:15px;margin-left:0}.duty-card-title .duty-time{font-size:11px}.duty-state-badges{margin-bottom:10px}}
/* Personal duty calendar: muted colors, generous tap targets, stable seven columns. */
.duty-employee-link{appearance:none;border:0;background:none;padding:0;margin:0;text-align:left;font:inherit;font-weight:700;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.duty-person-name .duty-employee-link{font-size:inherit}.duty-employee-link:hover,.duty-employee-link:focus-visible{text-decoration-color:#9cb4cf;outline-offset:4px}.employee-calendar-dialog{width:min(600px,calc(100% - 24px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;border:1px solid #dfe7f1;border-radius:18px;padding:26px;color:#486583;background:#fff}.employee-calendar-dialog::backdrop{background:#233b5360}.employee-calendar-heading{display:flex;align-items:center;gap:12px;justify-content:space-between}.employee-calendar-heading h2{margin:0;font-size:17px;line-height:1.7;word-break:keep-all}.employee-calendar-heading>button{flex-shrink:0;font-size:12px}.employee-calendar-month{display:flex;align-items:center;justify-content:center;gap:24px;margin:18px 0}.employee-calendar-month strong{font-size:15px;color:#577493}.employee-calendar-month button{font-size:27px;min-width:40px;min-height:40px}.employee-calendar-week,.employee-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.employee-calendar-week{background:#f7f9fc;border:1px solid #e5ebf3;border-bottom:0;border-radius:10px 10px 0 0;padding:10px 0;text-align:center;font-size:11px;color:#8d9cae}.employee-calendar-grid{border-left:1px solid #e5ebf3;border-top:1px solid #e5ebf3}.employee-calendar-day,.employee-calendar-blank{min-width:0;min-height:92px;border-right:1px solid #e5ebf3;border-bottom:1px solid #e5ebf3;display:flex;align-items:center;flex-direction:column;padding:7px 2px;box-sizing:border-box;gap:5px}.employee-calendar-blank{background:#fbfcfe}.employee-calendar-number{font-size:11px;align-self:flex-start;padding-left:6px;color:#8393a6}.employee-duty-dot{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;font-size:10px;text-align:center;line-height:1.3;color:#8693a3;background:#eff1f4}.employee-duty-dot.day{background:#f8e8e9;color:#b77d84}.employee-duty-dot.night{background:#e8effa;color:#7896bd}.employee-duty-dot.extra{background:#f4ece3;color:#ad9273}.employee-duty-dot.absence{background:#eeeaf1;color:#9b8da6}.employee-calendar-assignment{font-size:9px;color:#8498af;line-height:1.3;white-space:nowrap}.employee-calendar-note{font-size:11px;line-height:1.8;color:#8d9cb0;margin:15px 0 0}.employee-calendar-empty{font-size:13px;text-align:center;line-height:1.8;padding:35px 0;color:#8d9cb0}.employee-calendar-dialog .is-holiday{color:#c58c93}.employee-calendar-dialog .is-saturday{color:#8ca4c0}@media(max-width:480px){.employee-calendar-dialog{padding:18px 12px;border-radius:14px}.employee-calendar-heading h2{font-size:14px}.employee-calendar-heading>button{font-size:10px}.employee-calendar-month{margin:12px 0;gap:15px}.employee-calendar-day,.employee-calendar-blank{min-height:81px;padding:6px 1px;gap:4px}.employee-duty-dot{width:31px;height:31px;font-size:9px}.employee-calendar-number{font-size:9px;padding-left:4px}.employee-calendar-assignment{font-size:8px}.employee-calendar-note{font-size:10px}}

/* Clearer pastel duty states; rest and extra rest share the same treatment. */
.employee-duty-dot{font-weight:650;letter-spacing:.1px}.employee-duty-dot.day{background:#cc7d88;color:#fff}.employee-duty-dot.night{background:#7e9ecb;color:#fff}.employee-duty-dot.rest,.employee-duty-dot.extra{background:#e1e4e9;color:#333b46}.employee-duty-dot.absence{background:#e9e3ed;color:#76657f}.employee-calendar-grid{touch-action:pan-y}.employee-calendar-day,.employee-duty-dot{user-select:none;-webkit-user-select:none}#employee-calendar-content{touch-action:pan-y}.duty-personal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.duty-personal-actions>.btn{font-size:11px}.duty-page-heading .duty-top-actions>#duty-lookup{margin-right:auto}@media(max-width:720px){.duty-personal-actions{gap:6px}.duty-top-actions .duty-personal-actions>.btn{font-size:10px;padding:9px 10px}.duty-top-actions{align-items:center}}@media(max-width:360px){.duty-top-actions{gap:6px}.duty-top-actions #duty-lookup,.duty-top-actions .duty-personal-actions>.btn{font-size:9px;padding:9px 7px}.duty-personal-actions{gap:4px}}

.duty-leave-badge{font-size:10px;background:#f3e8ea;color:#ab7c83;padding:4px 7px;border-radius:6px;white-space:nowrap}.duty-admin-tools{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.duty-admin-tools .field{margin:0;min-width:130px}.duty-admin-grid{overflow:auto;border:1px solid #dce5f0;border-radius:12px;margin-top:16px;max-height:75vh}.duty-admin-table{border-collapse:separate;border-spacing:0;min-width:2800px;width:100%;font-size:11px;color:#59728e;background:#fff}.duty-admin-table caption{text-align:left;padding:16px;font-size:17px;font-weight:700}.duty-admin-table th,.duty-admin-table td{border-right:1px solid #e4eaf2;border-bottom:1px solid #e4eaf2;text-align:center;padding:0;min-width:82px;height:44px}.duty-admin-table thead th{position:sticky;top:0;z-index:3;background:#f1f5fa;height:45px}.duty-admin-table th:first-child{position:sticky;left:0;background:#f3f6fb;z-index:2;min-width:68px}.duty-admin-table th:nth-child(2){position:sticky;left:69px;background:#f8fafd;z-index:2;min-width:90px}.duty-admin-table small{display:block;font-size:9px;color:#8da0b7;margin-top:3px}.duty-admin-cell{width:100%;height:100%;border:0;padding:6px;background:transparent;font:inherit;color:inherit;cursor:pointer}.duty-admin-table .day{background:#fbf0f1;color:#aa7d84}.duty-admin-table .night{background:#edf3fc;color:#7794b9}.duty-admin-table .rest,.duty-admin-table .extra{background:#f0f2f5;color:#8c96a3}.duty-admin-table .leave{background:#f3e7e9;color:#ad7781}.duty-admin-table .crew-B th{border-top-color:#afc2dd}.duty-admin-table .crew-C th{border-top-color:#d9c6a9}.duty-admin-cell:hover{outline:1px solid #8aa6c9;outline-offset:-2px}@media(max-width:720px){.duty-leave-badge{font-size:8px;padding:3px 5px}.duty-admin-tools{gap:10px}.duty-admin-tools .btn{font-size:10px}.duty-admin-grid{max-height:70vh}}

.roster-table-wrap{overflow:auto}.roster-table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}.roster-table th,.roster-table td{padding:12px;border-bottom:1px solid #e6ebf2;text-align:left}.duty-support{position:relative;padding-right:35%}.duty-support>.duty-employee-link{font-size:var(--duty-name-size,20px);font-weight:700}.duty-absence-summary{position:absolute;right:0;top:0;display:grid;gap:12px;font-size:14px;color:#7d8fa7}.duty-extra-label{font-size:16px}.employee-duty-dot.leave,.employee-duty-dot.confirmation{background:#e2e5ea;color:#39434e}@media(max-width:560px){.duty-support{padding-right:0}.duty-absence-summary{position:static;width:100%;gap:6px}.roster-table{font-size:12px}}
.duty-support-reason{flex-basis:100%;margin-left:0;line-height:1.7}.duty-support>.duty-employee-link,.duty-person-name>.duty-employee-link{font-size:13px;font-weight:700;color:#435e7f}.duty-absence-summary{font-size:11px;gap:12px}.duty-slot.unassigned .duty-extra-label{color:#435e7f;font-size:12px}@media(max-width:560px){.duty-support>.duty-employee-link,.duty-person-name>.duty-employee-link{font-size:12px}.duty-absence-summary{font-size:10px}}

.duty-support{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,30%);align-items:start;padding-right:0;gap:12px}.duty-support-main{min-width:0}.duty-support-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.duty-support-line>.duty-employee-link{font-size:13px;font-weight:700;color:#435e7f}.duty-support-reason{display:block;margin-top:10px}.duty-absence-summary{position:static;min-width:0;overflow-wrap:anywhere;line-height:1.7;gap:10px}@media(max-width:560px){.duty-support{grid-template-columns:minmax(0,1fr) minmax(94px,34%);gap:8px}.duty-support-line>.duty-employee-link{font-size:12px}.duty-absence-summary{width:auto;font-size:9px}.duty-support-reason{font-size:9px}}

.sync-status-panel{margin-bottom:18px}.sync-source{padding:12px 0;border-bottom:1px solid #e7edf5}.sync-source h3{font-size:14px;margin:0 0 8px}.sync-source p,.sync-record p{font-size:12px;color:#7b8da4;line-height:1.7;margin:5px 0}.sync-record{padding:12px 0;border-bottom:1px solid #e7edf5}.sync-record strong{font-size:12px;color:#536c8b}.sync-failure strong{color:#a76a65}.sync-record code,.sync-source code{font-size:11px;overflow-wrap:anywhere}.sync-status-panel details{margin-top:16px}.admin-pending-notice{margin-top:18px}.sync-status-panel summary{font-size:13px;color:#60748f;cursor:pointer}

.sync-latest{font-size:12px;color:#667e9b;line-height:1.7}.sync-status-panel>details{margin-top:6px}.absence-fixed{display:flex;align-items:center;gap:8px;font-size:13px;color:#526b89;margin:12px 0}.absence-fixed input{accent-color:#819dbf}


/* Preserve compact duty cells: rank/name on one line and at most one annotation line. */
.duty-slot{min-height:57.5px;box-sizing:border-box}.duty-slot>span{font-size:12px;font-weight:600;color:#70859f}.duty-name-line{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.duty-name-line>.duty-employee-link{font-size:13px;font-weight:700;color:#435e7f}.duty-slot .duty-inline-rank,.duty-slot .duty-person-note{font-size:10px;font-weight:400;color:#96a5b7;line-height:1.4;white-space:nowrap}.duty-slot .duty-inline-rank{display:inline;margin:0}.duty-slot .duty-person-note{margin-top:1px}.duty-person-annotated{min-width:0}
.duty-support-main,.duty-absence-summary{display:contents}.duty-support-line{grid-column:1;grid-row:1}.duty-support-reason{grid-column:1;grid-row:2;margin-top:0}.duty-absence-summary{position:static}.duty-summary-leave{grid-column:2;grid-row:1}.duty-summary-extra{grid-column:2;grid-row:2}.duty-summary-leave,.duty-summary-extra{font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.employee-duty-dot{box-sizing:border-box}.employee-duty-dot.makeup.day{border:2px solid #914d5c}.employee-duty-dot.makeup.night{border:2px solid #385f97}
@media(max-width:560px){.duty-summary-leave,.duty-summary-extra{font-size:9px}.duty-support{column-gap:8px;row-gap:8px}.duty-slot>span{font-size:11px}.duty-name-line>.duty-employee-link{font-size:12px}.duty-slot .duty-inline-rank,.duty-slot .duty-person-note{font-size:9px}}

/* Optional daily-duty hatching; remove this isolated block to restore plain backgrounds. */
.duty-soft-hatch{background-color:#fffafb;background-image:repeating-linear-gradient(135deg,#f4e4e8 0px,#f4e4e8 2px,transparent 2px,transparent 9px)}.handover-slot .duty-person-side.duty-soft-hatch{border-radius:5px}

.employee-calendar-assignment{white-space:normal;max-width:100%;text-align:center;overflow-wrap:anywhere}

.employee-duty-dot.extra{border:2px solid #7d8795}

/* Keep mobile automatic text inflation at the authored size; manual zoom stays available. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* Banner subtitles use the entire card, not the legacy mobile .hero p 225px column. */
.managed-banner{container-type:inline-size;--banner-subtitle-base:14px}
.managed-banner .banner-subtitle{max-width:none;width:100%;white-space:nowrap;word-break:normal;overflow-wrap:normal}
@media(max-width:720px){.managed-banner{--banner-subtitle-base:12px}}
.banner-mini-preview{--banner-subtitle-base:11px}
.banner-editor-preview{--banner-subtitle-base:12px}
@supports(font-size:1cqi){.managed-banner .banner-subtitle{font-size:min(var(--banner-subtitle-base),calc(99cqi / var(--banner-subtitle-units,28)))}}
@supports not (font-size:1cqi){.managed-banner .banner-subtitle{white-space:normal;font-size:var(--banner-subtitle-base)}}

.customer-submit-row .support-consent{white-space:normal;min-width:0;line-height:1.6}

/* Selected home design: one quiet current-duty line within the existing banner. */
.home-duty-link{display:flex;align-items:center;gap:10px;min-width:0;min-height:38px;margin-top:20px;padding-top:12px;border-top:1px solid #d3e1f0;color:#4c6e95;text-decoration:none;font-size:12px;line-height:1.5;white-space:nowrap}
.home-duty-link:hover{color:#254e7e}.home-duty-link:focus-visible{outline:2px solid #7396bd;outline-offset:5px;border-radius:2px}
.home-duty-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#7fa99a}.home-duty-crew{font-weight:650;color:#557ca5;flex-shrink:0}.home-duty-crew>span{font-weight:500}
.home-duty-control{margin-left:auto;color:#8399b1;font-size:11px;flex-shrink:0}.home-duty-names{display:flex;align-items:center;gap:7px;font-weight:600;color:#49688c;min-width:0}.home-duty-separator{font-weight:400;color:#98abc0}.home-duty-arrow{margin-left:auto;color:#8da4bd;font-size:19px;line-height:1;flex-shrink:0}.home-duty-message{color:#7d95af;font-size:12px}
@media(max-width:720px){.home-duty-link{gap:8px;min-height:44px;margin-top:17px;padding-top:11px;font-size:11px}.home-duty-control{font-size:10px}.home-duty-names{gap:5px;font-size:12px}.home-duty-message{font-size:11px}}
@media(max-width:360px){.home-duty-link{gap:6px}.home-duty-names{font-size:11px;gap:4px}.home-duty-control{font-size:10px}}

/* Selected compact footer: equal space above/below content; original type and banner copy. */
.home-duty-banner{padding-bottom:0}
.home-duty-link{min-height:0;margin-top:20px;padding:17px 0;box-sizing:border-box}
.home-duty-handover{display:flex;align-items:center;min-width:0;flex:1;white-space:nowrap}
.home-duty-shift{display:flex;align-items:center;gap:6px;flex-shrink:0}
.home-duty-control-group{display:flex;align-items:center;gap:5px;margin-left:auto;padding-left:8px;flex-shrink:0}
.home-duty-control-group .home-duty-control{margin-left:0}
.home-duty-turn{display:inline-block;font-weight:400;letter-spacing:0;color:#7e96b0;white-space:pre}
.home-duty-crew-turn{margin-inline:2px}
.home-duty-control-turn{margin-inline:3px}
.home-duty-handover .home-duty-names{gap:0;display:inline;white-space:nowrap}
.home-duty-handover .home-duty-separator{display:inline-block;margin-inline:3px}
.home-duty-handover .home-duty-crew{font-size:12px}
.home-duty-handover .home-duty-control{font-size:11px}
.home-duty-handover .home-duty-names{font-size:12px}
@media(max-width:720px){
 .home-duty-banner{padding-bottom:0}
 .home-duty-link{min-height:0;margin-top:20px;padding:17px 0;gap:8px}
 .home-duty-handover .home-duty-crew,.home-duty-handover .home-duty-names{font-size:11px}
 .home-duty-handover .home-duty-control{font-size:10px}
 .home-duty-handover .home-duty-dot{width:5px;height:5px}
}
@media(max-width:360px){
 .home-duty-link:has(.home-duty-handover){gap:5px}
 .home-duty-handover .home-duty-crew,.home-duty-handover .home-duty-names{font-size:10px}
 .home-duty-shift{gap:4px}
 .home-duty-control-group{padding-left:6px;gap:4px}
 .home-duty-handover .home-duty-separator{margin-inline:2px}
 .home-duty-crew-turn{margin-inline:1px}
 .home-duty-control-turn{margin-inline:2px}
}
@media(max-width:340px){.home-duty-link:has(.home-duty-handover){margin-left:-7px;margin-right:-7px}}
/* Approved control-group offset: reserve 6px more before the final chevron. */
.home-duty-link:has(.home-duty-handover){column-gap:16px}
@media(max-width:720px){.home-duty-link:has(.home-duty-handover){column-gap:14px}}
@media(max-width:360px){.home-duty-link:has(.home-duty-handover){column-gap:11px}}
@media(max-width:340px){.home-duty-link:has(.home-duty-handover){margin-left:-10px;margin-right:-10px}}
/* Handover support notes belong to their respective employee columns. */
.duty-support.duty-support-handover{display:grid;grid-template-columns:minmax(0,1.25fr) 16px minmax(0,1fr);column-gap:12px;row-gap:7px;align-items:start}
.duty-support-current-line,.duty-support-next-line{display:flex;align-items:baseline;gap:7px;min-width:0;flex-wrap:wrap;line-height:1.6}
.duty-support-current-line{grid-column:1;grid-row:1}
.duty-support-change-arrow{grid-column:2;grid-row:1;align-self:center}
.duty-support-next-line{grid-column:3;grid-row:1}
.duty-support-handover .duty-employee-link{font-size:13px;font-weight:700;color:#435e7f;white-space:nowrap}
.duty-support-current-note,.duty-support-next-note{font-size:11px;line-height:1.7;overflow-wrap:anywhere;color:#96a5b7}
.duty-support-current-note{grid-column:1;grid-row:2}
.duty-support-next-note{grid-column:3;grid-row:2}
.duty-handover-absences{grid-column:1/-1;grid-row:3;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px}
.duty-handover-absences:empty{display:none}
@media(max-width:560px){
 .duty-support.duty-support-handover{grid-template-columns:minmax(0,1.25fr) 12px minmax(0,1fr);column-gap:8px;row-gap:6px}
 .duty-support-handover .duty-employee-link{font-size:12px}
 .duty-support-current-line,.duty-support-next-line{gap:5px}
 .duty-support-current-note,.duty-support-next-note{font-size:9px}
}

/* Monthly leave overview: all calendar weeks fit in the dialog; crowded dates scroll within their cell. */
.leave-calendar-dialog{width:min(960px,calc(100vw - 20px));max-width:960px;padding:18px;max-height:calc(100dvh - 20px);overflow:hidden;border:1px solid #d9e3f1;border-radius:20px;color:#334c6a;background:#f8faff}.leave-calendar-dialog::backdrop{background:rgba(32,49,70,.28)}.leave-calendar-toolbar{display:flex;align-items:center;gap:12px;margin-top:8px}.leave-calendar-toolbar [data-leave-scope]{margin-left:auto}.leave-calendar-caption{margin:8px 0;font-size:11px}.leave-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--leave-weeks),minmax(0,1fr));height:min(650px,calc(100dvh - 225px));border:1px solid #dce4ee;border-radius:10px;overflow:hidden;background:white}.leave-month-day,.leave-month-blank{min-width:0;min-height:0;border-right:1px solid #e4eaf2;border-bottom:1px solid #e4eaf2;padding:5px;display:flex;flex-direction:column;gap:3px}.leave-month-blank{background:#f4f6f9}.leave-date{font-size:12px}.leave-day-entries{min-height:0;overflow:auto;scrollbar-width:thin}.leave-calendar-person{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;border:0;border-radius:5px;padding:4px;margin:0 0 3px;background:#f6e8eb;color:#5b4652;cursor:pointer;line-height:1.25}.leave-calendar-person strong{font-size:12px;white-space:nowrap}.leave-calendar-person span{font-size:10px;white-space:nowrap}.leave-calendar-person small{font-size:9px;color:#7d6a74}.calendar-close-button{min-height:36px;min-width:58px}.sync-stages{padding-left:18px;font-size:11px;color:#738399}.sync-record p{overflow-wrap:anywhere}.duty-personal-actions{flex-wrap:wrap}
@media(max-width:600px){.leave-calendar-dialog{padding:12px;width:calc(100vw - 12px);border-radius:15px}.leave-calendar-dialog h2{font-size:16px}.leave-month-day,.leave-month-blank{padding:3px}.leave-calendar-person{padding:3px 2px}.leave-calendar-person strong{font-size:10px}.leave-calendar-person span{font-size:8px;letter-spacing:-.2px}.leave-calendar-person small{font-size:8px}.leave-calendar-caption{font-size:9px}.leave-calendar-toolbar{gap:8px}.leave-calendar-toolbar .btn{font-size:11px;padding:8px}.leave-month-grid{height:calc(100dvh - 215px)}.duty-personal-actions .btn{padding:10px 9px;font-size:11px}}
.duty-request-dialog{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow:auto;border:1px solid #d9e3f1;border-radius:18px;padding:20px;color:#344e6c;background:#fff}.duty-request-dialog::backdrop{background:rgba(30,48,70,.3)}.duty-request-dialog h2{font-size:18px}.duty-request-dialog .field{margin-top:12px}.request-date-line{display:flex;align-items:center;gap:14px;margin-top:10px}.request-date-line select{margin-left:auto;max-width:150px}.request-conflicts{font-size:12px;color:#8a5a61;background:#fcf3f4;border-radius:10px;padding:0 10px}.request-conflicts:empty{display:none}.request-conflicts ul{padding:10px 16px}.request-conflicts textarea,.duty-request-history textarea{min-height:70px;width:100%;font:inherit;resize:vertical}.leave-notice-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;margin:10px 0;width:100%;border:1px solid #dce5f0;border-radius:12px;color:#415e7f;background:#f3f7fc}.duty-replacement-open{appearance:none;border:0;background:transparent;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;min-height:35px}.duty-history-people{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.employee-calendar-day[role=button]{cursor:pointer}.employee-calendar-day[role=button]:focus{outline:2px solid #849ebc;outline-offset:-2px}.employee-calendar-pending{display:block;color:#9b6b73;font-size:8px;line-height:1.2;max-width:100%;overflow-wrap:anywhere}
@media(max-width:600px){.duty-top-actions{gap:8px;align-items:flex-start}.duty-personal-actions{justify-content:flex-end;gap:5px}.duty-personal-actions .btn{font-size:10px;padding:9px 7px}.duty-request-dialog{padding:15px}}
.leave-calendar-dialog{height:min(820px,calc(100dvh - 20px));box-sizing:border-box}#leave-calendar-content{height:100%;display:flex;flex-direction:column;min-height:0}.leave-month-grid{height:auto;min-height:0;flex:1}.leave-calendar-heading,.leave-calendar-toolbar,.leave-calendar-caption,.leave-calendar-dialog .employee-calendar-heading,.leave-calendar-dialog .employee-calendar-week{flex:none}
@media(max-width:600px){.duty-top-actions{flex-wrap:wrap}.duty-personal-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}.duty-personal-actions .btn{font-size:11px;text-align:center;padding:10px 5px;white-space:nowrap}}
/* Temporary password-protected customer file delivery. */
.transfer-list{display:grid;gap:14px}.transfer-row{padding:20px}.transfer-open{display:block;width:100%;border:0;background:none;text-align:left;padding:0;color:inherit;cursor:pointer}.transfer-row-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.transfer-row-top strong{overflow-wrap:anywhere}.transfer-meta{display:block;margin-top:9px;color:#8a9ab0;font-size:13px}.transfer-row-actions{display:flex;gap:16px;align-items:center;margin-top:16px}.transfer-programs{border:1px solid #e1e8f1;border-radius:12px;padding:14px;margin:18px 0}.transfer-programs legend{font-size:13px;color:#7488a1;padding:0 6px}.transfer-programs label{display:flex;align-items:center;gap:8px;font-size:14px;margin:10px 0}.transfer-programs small{color:#8c9aae;margin-left:auto}.transfer-settings{display:grid;grid-template-columns:1fr 1fr;gap:14px}.transfer-file-picker input{padding:14px;background:#f6f9fd;border:1px dashed #cbd9e9;border-radius:12px}.transfer-progress progress{width:100%;accent-color:#789cc2}.transfer-progress p{font-size:13px;color:#768aa3;overflow-wrap:anywhere}.transfer-share{text-align:center}.transfer-qr{width:190px;height:190px;max-width:75%;display:block;margin:6px auto 12px;border:1px solid #e4ebf3;border-radius:12px}.transfer-code{font-size:25px;letter-spacing:3px;color:#355878;font-weight:650;margin:8px 0 14px}.transfer-link{width:100%;font-size:12px!important;margin-bottom:12px}.transfer-file-summary{text-align:left;padding-left:24px;color:#526b86;font-size:14px;overflow-wrap:anywhere}.transfer-file-summary li{margin:10px 0}.transfer-file-summary small{color:#93a1b3}.transfer-public{display:block;min-height:100dvh;background:#f5f7fb;margin:0;padding:0}.transfer-download-shell{max-width:580px;margin:0 auto;padding:40px 20px}.transfer-public-brand{display:flex;align-items:center;gap:16px;margin:0 4px 28px;color:#304d6b;font-size:17px;font-weight:650}.transfer-public-brand img{width:110px;height:auto}.transfer-public .panel{padding:28px}.transfer-public h1{font-size:24px;color:#264563;margin:0 0 14px}.transfer-public .btn{margin-top:10px}.transfer-public-file{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:1px solid #e7edf4;color:#355878;text-decoration:none}.transfer-public-file strong{display:block;font-size:14px;overflow-wrap:anywhere}.transfer-public-file small{display:block;font-size:12px;color:#8a9aaf;margin-top:5px}.transfer-file-number{flex:none;background:#edf3fa;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;font-size:13px}.transfer-save-label{margin-left:auto;white-space:nowrap;font-size:12px;color:#6c89a9}.transfer-public .source-note{line-height:1.7}.transfer-category{margin-top:18px}
@media(max-width:600px){.transfer-row{padding:16px}.transfer-row-top{gap:8px}.transfer-row-top .badge{flex:none;font-size:11px}.transfer-row-top strong{font-size:15px}.transfer-meta{font-size:12px;line-height:1.7}.transfer-settings{gap:10px}.transfer-programs label{font-size:13px}.transfer-public .panel{padding:22px}.transfer-download-shell{padding-top:28px}.transfer-public h1{font-size:22px}}
.transfer-qr,.transfer-qr path,.transfer-qr rect{stroke:none;stroke-width:0}.transfer-qr path{shape-rendering:crispEdges}.transfer-link{box-sizing:border-box;border:1px solid #dce5f0;background:#f8fafd;color:#5b728c;border-radius:10px;padding:11px;min-width:0}.transfer-settings input,.transfer-settings select{min-width:0;width:100%;box-sizing:border-box}.transfer-file-picker input{width:100%;min-width:0;box-sizing:border-box}
.login-text-links{justify-content:flex-end;gap:12px;flex-wrap:wrap}.login-text-links button{font-size:12px;color:#72849a;padding:5px 0;white-space:nowrap}.login-more-options{margin-top:16px;padding:15px;background:#f5f8fc;border:1px solid #e1e9f3;border-radius:12px}.login-more-options>label:not(.field){display:flex;align-items:center;gap:8px;margin:10px 0;font-size:13px;color:#526b87}.login-more-options small{font-size:10px;color:#8d9db1}.login-more-options input[type=checkbox]{accent-color:#7397bf;width:15px;height:15px}.login-more-options .field{margin-top:14px}.monthly-notice p{font-size:15px;line-height:1.85;letter-spacing:-.2px;color:#566c86;word-break:keep-all;overflow-wrap:anywhere;margin:0 0 18px}.monthly-notice .btn{display:block;margin-left:auto}.app-footer-actions{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end;width:100%;margin-top:15px;font-size:12px}.app-footer-actions a,.app-footer-actions button{color:#8398af;background:none;border:0;font:inherit;text-decoration:none;cursor:pointer}.app-footer-actions button:disabled{color:#b2bdcb;cursor:default}.shell>footer{flex-wrap:wrap}.app-notice-editor{padding:18px;border:1px solid #e0e8f2;border-radius:12px;margin-bottom:20px}.app-notice-editor legend{color:#5d7d9e;padding:0 7px;font-size:14px}.feedback-entry p{white-space:normal;overflow-wrap:anywhere;line-height:1.8}.feedback-photos{display:flex;gap:12px;flex-wrap:wrap}.feedback-photos img{width:120px;height:120px;object-fit:cover;border-radius:10px}.feedback-entry{margin-bottom:16px}.field textarea{width:100%;box-sizing:border-box;resize:vertical;border:1px solid #dce5f0;border-radius:10px;padding:13px;font:inherit;line-height:1.7;color:#3f5b79;background:#fff}
.native-network-actions{display:flex;gap:12px;margin:14px 0}.app-release-note{padding:12px 0;border-bottom:1px solid #e4ebf3}.app-release-note p{font-size:14px;line-height:1.8;color:#71859d;overflow-wrap:anywhere}.version-body{white-space:pre-wrap;line-height:1.8;padding:0 24px 24px;color:#536b85;font-size:14px}.login-footer .app-footer-actions{justify-content:center;margin-top:14px}
/* Keep all four duty actions on one compact mobile row. */
@media(max-width:600px){
 .duty-page-heading .duty-top-actions{display:grid;grid-template-columns:.95fr 1fr 1.25fr 1.2fr;gap:5px;align-items:center;flex-wrap:nowrap}
 .duty-page-heading .duty-personal-actions{display:contents}
 .duty-page-heading .duty-top-actions #duty-lookup,.duty-page-heading .duty-personal-actions>.btn{display:flex;align-items:center;justify-content:center;min-width:0;min-height:34px;width:100%;margin:0;padding:8px 3px;font-size:clamp(9px,2.55vw,11px);line-height:1.25;letter-spacing:-.2px;white-space:nowrap;border-radius:9px}
}
/* Login footer follows the card instead of drifting to the screen bottom. */
.auth-entry-page .login-layout>.login-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:16px;row-gap:8px;margin:0;padding:2px 0 0;width:100%;font-size:11px;line-height:1.5;color:#8b9bad;text-align:center}
.login-layout>.login-footer .login-copyright{white-space:nowrap}
.login-layout>.login-footer .app-footer-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;width:auto;margin:0;font-size:11px;line-height:1.5}
.login-layout>.login-footer .app-footer-actions button{padding:0;line-height:1.5;white-space:nowrap}
.login-layout>.login-footer{justify-content:space-between!important;padding:0 8px!important;column-gap:12px!important}
.app-footer-actions .app-info-link{display:inline-flex;align-items:center;gap:6px;color:#5d7e9f;font-weight:600;white-space:nowrap}
.app-info-link span{font-size:15px;font-weight:400;line-height:1}
.app-info-dialog{width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:24px;border:1px solid #dae5f2;border-radius:20px;background:#fff;color:#3e5979;box-shadow:0 20px 70px #24476b24;overflow:auto}
.app-info-dialog::backdrop{background:#263c5652}
.app-info-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}
.app-info-head h2{font-size:18px;margin:0;color:#284b72}.app-info-head button{width:34px;height:34px;border:0;border-radius:50%;background:#f1f5fa;color:#7289a3;font-size:18px;cursor:pointer}
.app-info-brand{display:flex;align-items:center;gap:18px;margin-bottom:26px}.app-info-brand img{width:88px;height:auto}.app-info-brand strong{display:block;font-size:21px;color:#234c79}.app-info-brand span{display:block;font-size:11px;color:#899bb1;margin-top:7px;line-height:1.6;word-break:keep-all}
.app-info-versions{background:#f3f7fc;border-radius:12px;padding:14px 16px;margin:0 0 26px}.app-info-versions>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;font-size:12px}.app-info-versions dt{color:#8a9bb0}.app-info-versions dd{margin:0;font-weight:600;color:#506e92}
.app-info-history h3{font-size:12px;color:#879bb3;font-weight:500;margin:0 0 12px}.app-info-history details{border-bottom:1px solid #e9eef5;padding:13px 0}.app-info-history summary{font-size:13px;color:#4f7197;cursor:pointer}.app-info-history p{font-size:12px;line-height:1.85;color:#8495aa;word-break:keep-all;overflow-wrap:anywhere;margin:12px 0 2px}.app-info-copyright{text-align:center;font-size:10px;color:#a3afbf;margin:25px 0 0}
.leave-calendar-person small{font-size:8px;white-space:nowrap;letter-spacing:-.25px}.staff-unverified{background:#f8f9fc}.staff-unverified .staff-verdict{color:#7b8799}.staff-unverified p{margin-bottom:0}.reader-stage{touch-action:pan-x pan-y}.shared-transfer-text{padding:18px;background:#f3f7fc;border-radius:12px;margin-bottom:18px}.shared-transfer-text h2{font-size:14px}.shared-transfer-text textarea{width:100%;min-height:100px;resize:vertical;user-select:text;line-height:1.7;font:inherit;font-size:13px;border:1px solid #dbe5f1;border-radius:8px;padding:12px;color:#4c6887;background:#fff}.shared-transfer-text button{margin-top:12px}
#pda-login-form .form-error{min-height:0;margin:4px 0 8px}#pda-login-form .login-text-links{margin-top:14px}
@media(min-width:901px){.shell>footer{display:flex;align-items:center;gap:18px;flex-wrap:nowrap}.shell>footer .app-footer-actions{width:auto;flex-wrap:nowrap;margin:0 0 0 auto;order:1;gap:16px}.shell>footer>span:last-of-type{order:2}.shell>footer .app-footer-actions a{white-space:nowrap}}
@media(min-width:901px){.shell>footer>span:last-of-type{order:1;margin-left:auto;white-space:nowrap}.shell>footer .app-footer-actions{order:2;margin:0}}

/* Reserve only the banner copy while confirmation runs; home remains interactive. */
.home-banner-pending{min-height:157px}.home-banner-error{font-size:12px!important;color:#728daa!important}.home-banner-error .text-btn{font:inherit}
@media(max-width:720px){.home-banner-pending{min-height:141px}}

/* The site chrome stays outside the manual's gallery-style zoom. */
.manual-reading .shell>header{position:sticky;top:0;z-index:31;background:#fff}
.manual-reading .reader-controls{top:var(--manual-nav-height,56px);z-index:20}
.manual-reading .reader-stage{touch-action:pan-x pan-y;overflow-anchor:none}
.manual-reading .reader-pages{overflow-anchor:none}
@media(max-width:720px){.manual-reading .sidebar{position:sticky;top:0;z-index:30;background:#fff}.manual-reading .shell>header{position:fixed;top:7px;right:12px;left:auto;background:transparent}.manual-reading .reader-controls{top:var(--manual-nav-height,84px)}}

body.manual-reading{overflow-anchor:none}

.app-info-share{margin-top:22px}.app-info-share>.btn{width:100%;min-height:42px;border-radius:10px;font-size:12px}.app-info-share p{margin:12px 0 0;font-size:11px;line-height:1.8;color:#7890aa;white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere}.app-info-share input{width:100%;margin-top:10px;border:1px solid #dce5ef;border-radius:8px;padding:10px;font-size:11px;color:#506e92;background:#f8fafc}.app-info-share [hidden]{display:none}

/* Calendar dialogs share edge-aligned headings, independent of the site header. */
.employee-calendar-heading{height:auto;min-height:40px;padding:0;justify-content:space-between;gap:12px;border:0;background:transparent;margin-bottom:4px}
.employee-calendar-heading h2{flex:1;min-width:0;text-align:left}
.employee-calendar-heading>button{margin-left:auto;margin-right:-3px;min-width:44px;min-height:36px;padding:7px 9px;border:1px solid #e0e8f2;border-radius:9px;background:#f3f7fc;color:#7087a2;white-space:nowrap}
.employee-calendar-day.is-today,.leave-month-day.is-today{position:relative;box-shadow:inset 0 0 0 1.5px #adc5e0;border-radius:5px}
.app-info-head{height:auto;min-height:42px;padding:0 0 14px;margin-bottom:24px;border-bottom:1px solid #edf1f6;background:transparent}
.app-info-head>button{margin-right:-4px;display:grid;place-items:center;width:38px;height:38px;padding:9px;border:1px solid #e3eaf3;border-radius:10px;background:#f8fafd;color:#8295ac}
.app-info-head>button svg{width:18px;height:18px;stroke-width:1.6}
/* Buttons otherwise vertically center unequal descriptions on narrow screens. */
.module-card{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-width:0}
.module-card .card-top{min-height:36px;flex:none;align-items:center;gap:8px}
.module-card .tile-icon{width:36px;height:36px;flex:0 0 36px}
.module-card .tile-icon>svg{display:block;width:21px;height:21px;margin:0}
.module-card .card-top>.tag{flex-shrink:0}
@media(max-width:480px){.employee-calendar-heading{min-height:38px;gap:8px}.employee-calendar-heading>button{font-size:10px;min-height:34px}.app-info-dialog{padding:22px 20px}.app-info-head h2{font-size:17px}}

/* Approved UI audit 4/5/6/8/9: scoped refinements; no navigation or duty-card changes. */
#dialog .dialog-head{gap:12px;align-items:center;padding:0 0 16px;margin-bottom:18px}
#dialog-title{min-width:0;flex:1;word-break:keep-all;overflow-wrap:anywhere;line-height:1.45}
#close-dialog{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:10px;border:1px solid #e0e8f2;border-radius:10px;background:#f4f7fb;color:#637b94;font-size:22px;line-height:1}
#transfer-form .field,#feedback-form .field{font-size:13px;min-width:0}
#transfer-form textarea{height:90px;min-height:90px;resize:vertical}
#transfer-form input,#transfer-form select,#transfer-form textarea,#feedback-form input,#feedback-form select,#feedback-form textarea,#customer-info-form input,#customer-info-form select{font-size:14px;color:#314e6b;max-width:100%;box-sizing:border-box}
#transfer-form .source-note{font-size:11px;line-height:1.7;overflow-wrap:anywhere}
#transfer-form .form-actions{display:flex;margin-top:16px}
#transfer-form .form-actions>button,#feedback-form>button[type=submit],#customer-info-form .customer-submit-row>button[type=submit],#external-test-open{min-height:44px;width:100%;white-space:normal;word-break:keep-all;line-height:1.5;font-size:14px;background:#315f8b;color:#fff;border:1px solid #315f8b;border-radius:10px;padding:11px 16px}
#transfer-form input[type=file],#feedback-form input[type=file]{width:100%;min-width:0;font-size:12px;overflow:hidden}
#transfer-form input[type=file]::file-selector-button,#feedback-form input[type=file]::file-selector-button{border:0;border-radius:7px;padding:10px;background:#eaf1fa;color:#42658b;margin-right:9px}
#external-test-open{margin-top:12px}
#network-lookup{padding:9px 12px;border:1px solid #dce6f1;border-radius:8px;min-height:40px;white-space:nowrap}
.external-test-intro h2{font-size:18px;line-height:1.5}
#customer-info-form .workspace-form-bottom{display:block}
#customer-info-form .customer-submit-row{display:flex;flex-wrap:wrap;gap:12px;min-width:0;width:100%}
#customer-info-form .support-consent{width:100%;max-width:none;font-size:12px;line-height:1.7;white-space:normal;word-break:keep-all;letter-spacing:0;text-align:left}
#customer-info-form .customer-korean-fields input{min-height:44px}
#customer-info-status{display:block;overflow-wrap:anywhere}
#feedback-form textarea{min-height:150px;height:150px;font-size:14px;line-height:1.7;resize:vertical}
#feedback-form>button[type=submit]{margin-top:8px}
.admin-mode-card{min-height:76px;padding:14px;gap:14px;border-radius:12px}
.admin-mode-card>div{min-width:0;flex:1}
.admin-mode-card h2{font-size:15px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;margin:0 0 4px}
.admin-mode-card p{font-size:12px;line-height:1.6;color:#63778f;word-break:keep-all;overflow-wrap:anywhere}
.admin-mode-icon{width:36px;height:36px;border-radius:9px;font-size:22px}
.admin-mode-card>span:last-child{flex-shrink:0}
@media(max-width:720px){.admin-mode-grid{gap:8px}#dialog:has(#transfer-form){width:calc(100% - 24px);max-width:440px;max-height:calc(100dvh - 28px);padding:20px;box-sizing:border-box;overflow-y:auto;border-radius:18px}#transfer-form .transfer-settings{gap:12px}#transfer-form .transfer-settings label{min-width:0;line-height:1.5}#transfer-form input,#transfer-form select,#feedback-form input,#feedback-form select{min-height:40px}}
/* Checkboxes keep their own compact geometry instead of text-field dimensions. */
#transfer-form input[type=checkbox]{width:16px;height:16px;min-height:0;padding:0;flex:0 0 16px}
#transfer-form .transfer-programs{padding:12px}
#transfer-form .transfer-programs label{min-height:32px;line-height:1.6;gap:8px}

.customer-transfer-state{color:#6b8098;font-size:11px;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}.customer-record-footer{flex-wrap:wrap;gap:8px}

/* Handover identity and annotations never share an overlapping badge column. */
.duty-slot .duty-name-line{flex-wrap:wrap;gap:2px 5px;min-width:0}
.duty-slot .duty-name-line .duty-support-badge{margin:0;align-self:center;line-height:1.2}
.duty-slot .duty-person-note{white-space:normal;overflow-wrap:anywhere;display:block}
.duty-shift-transition{display:inline-flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.duty-card-title h3 .duty-shift-transition>span{font:inherit;margin:0;white-space:nowrap}
.duty-card-title h3 .duty-shift-arrow{color:#a1b1c5}
.duty-support-next-line>span{white-space:nowrap}
.customer-record-footer .customer-delete{margin-left:8px;color:#aa777b}

.handover-slot{position:relative}.duty-slot>.duty-handover-support-badge{position:absolute;right:9px;top:9px;min-width:0;font-size:8px;font-weight:400;padding:2px 4px;border-radius:4px;background:#edf2fa;color:#8299b7;line-height:1.3}

.customer-record-actions{display:flex;align-items:center;gap:14px;margin-left:auto;flex:none;white-space:nowrap}.customer-record-footer .customer-record-actions .customer-delete{margin-left:0}.customer-record-actions .text-btn{flex:none}

.customer-delete-dialog{width:min(360px,calc(100% - 32px));border:1px solid #dce5f1;border-radius:16px;padding:24px;color:#435e7f;background:#fff}.customer-delete-dialog::backdrop{background:#243a5345}.customer-delete-dialog h2{font-size:18px;margin:0 0 14px}.customer-delete-dialog p{font-size:13px;line-height:1.7;color:#7d90a8}.customer-delete-confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.customer-delete-confirm-actions .btn{min-width:70px}.customer-delete-dialog #customer-delete-confirm{background:#a8757c;border-color:#a8757c}.customer-delete-dialog .form-error:empty{display:none}

/* Field map: compact labels and familiar pale-blue controls. */
.field-map-panel{padding:0;overflow:hidden}.field-map-toolbar{padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.field-map-toolbar>div{display:flex;align-items:baseline;gap:10px}.field-map-toolbar span{font-size:12px;color:#8b9bb1}.field-map-toolbar .btn{padding:9px 14px;min-height:38px}.field-map-canvas{height:min(64vh,650px);min-height:410px;background:#eef3f9;position:relative}.field-map-loading{padding:30px;color:#7890aa;text-align:center;line-height:1.8}.field-map-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;color:#8398b0;font-size:12px;line-height:1.6}.field-map-status button{flex-shrink:0;color:#587ea6}.field-map-pin{border:1px solid #b8cee6;background:#fff;border-radius:9px;padding:6px 8px;color:#456786;box-shadow:0 2px 8px #31577f1c;display:flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap;font-family:inherit}.field-map-pin strong{font-size:10.5px;font-weight:600;white-space:nowrap}.field-map-pin span{font-size:12.5px;font-weight:750;color:#276aab}.field-map-pin.is-selected{z-index:3;border-color:#548fc9;box-shadow:0 0 0 2px #78a9d855,0 4px 12px #31577f2b}.field-map-pin:focus-visible{outline:3px solid #6b9bd0}.field-my-location{height:17px;width:17px;border:3px solid white;border-radius:50%;background:#468cd3;box-shadow:0 0 0 8px #468cd32e}.field-bank-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.field-bank{display:flex;gap:12px;align-items:center;padding:15px;border:1px solid #e0e7f0;background:#fff;border-radius:14px;text-align:left;color:#45617f;font-family:inherit;cursor:pointer;min-width:0}.field-bank>span:nth-child(2){flex:1;min-width:0}.field-bank strong{display:block;font-size:14px}.field-bank small{display:block;font-size:11px;line-height:1.6;color:#94a2b4;margin-top:4px}.field-bank-number{display:grid;place-items:center;background:#eef4fb;color:#6b8bad;border-radius:9px;min-width:31px;height:31px;font-size:12px}.field-bank-eta{font-size:18px;font-weight:700;color:#3575ae;white-space:nowrap}.field-bank-chevron{color:#9bafc5}.field-map-note{font-size:12px;color:#94a3b6;line-height:1.8;margin-top:16px}@media(max-width:600px){.field-bank-list{grid-template-columns:1fr}.field-map-canvas{min-height:430px;height:62vh}.field-map-pin{padding:4px 6px;gap:4px}.field-map-pin strong{font-size:9.5px}.field-map-pin span{font-size:11.5px}.field-map-status{font-size:11px}}
.field-pin-anchor{position:relative;width:0;height:0}.field-pin-anchor>svg{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none}.field-pin-anchor polyline{fill:none;stroke:#9db7d1;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.field-pin-anchor .field-map-pin{position:absolute;left:0;top:-35px;z-index:2}.field-pin-dot{position:absolute;left:-16px;top:-16px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;z-index:1}.field-pin-dot::after{content:"";position:absolute;left:12px;top:12px;width:8px;height:8px;box-sizing:border-box;background:#7298bf;border:1px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #b7cee4}.field-pin-dot:focus-visible{outline:2px solid #5c8fc3;outline-offset:-5px}
.field-map-controls{display:flex;gap:7px}.field-pin-anchor[hidden]{display:none}
.field-map-title{margin-bottom:18px}.field-map-filter-group{display:flex;gap:4px;min-width:0}.field-map-select{appearance:auto;border:0;background:transparent;color:#45617f;font-family:inherit;font-weight:600;font-size:14px;line-height:1.4;padding:7px 3px;cursor:pointer;max-width:100%;border-radius:7px}.field-map-select:focus-visible{outline:2px solid #9ab9da}.field-bank-details{margin-top:14px;border:1px solid #e0e7f0;border-radius:13px;background:#fff;overflow:hidden}.field-bank-details>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:14px 17px;color:#58799c;font-size:13px;font-weight:600}.field-bank-details>summary::-webkit-details-marker{display:none}.field-bank-details>summary span{color:#98a8bb;font-size:11px;font-weight:400}.field-bank-details>summary i{margin-left:auto;font-style:normal;color:#8fa9c5}.field-bank-details[open]>summary i{transform:rotate(180deg)}.field-bank-details .field-bank-list{margin:0;padding:0 12px 12px}.field-map-empty{padding:20px;color:#95a5b8;font-size:13px}.field-map-toolbar .field-map-filter-group{gap:3px}@media(max-width:420px){.field-map-toolbar{padding:12px 10px;gap:5px}.field-map-select{font-size:13px;padding:7px 1px}.field-map-controls{gap:4px}.field-map-toolbar .btn{padding:8px 9px;font-size:11px}}
.field-map-controls{margin-left:auto;padding-right:1px;gap:7px}.field-map-command{height:36px;min-width:36px;border:1px solid #d9e5f2;background:#f5f9fe;color:#6488ad;border-radius:11px;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 2px #53769b08}.field-map-command:hover{background:#eaf2fc}.field-map-command:focus-visible,.field-map-destination:focus-visible{outline:2px solid #87add4;outline-offset:2px}.field-map-all{padding:0 11px;font-size:12px;font-weight:600}.field-map-locate{padding:0;width:36px}.field-map-locate svg{width:23px;height:23px;color:#548ac0}.field-map-frame{position:relative}.field-map-destinations{position:absolute;left:12px;bottom:33px;z-index:6;display:flex;gap:7px;pointer-events:none}.field-map-destination{pointer-events:auto;display:flex;align-items:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid #d7e3ef;background:#fffffff5;color:#52789f;border-radius:11px;box-shadow:0 2px 8px #375b8120;font:600 12px/1.4 system-ui;cursor:pointer}.field-map-destination svg{width:16px;height:16px;flex-shrink:0}.field-map-destination:disabled{color:#9baaba;background:#f6f8fbeb;cursor:default}.field-map-pin.field-map-place{background:#edf5ff;border-color:#8fafcf;color:#3f719f}.field-map-place svg{width:15px;height:15px;flex-shrink:0}.field-map-place-company{background:#edf4fb!important}@media(max-width:420px){.field-map-controls{gap:6px}.field-map-toolbar{padding-right:11px}.field-map-destinations{left:10px;gap:6px}.field-map-destination{font-size:11px;padding:7px 10px}}
.page-title.field-map-title{margin:0 0 11px;padding:0;min-height:0;gap:0}.field-map-title h1{margin:0;line-height:1.25}.field-map-toolbar{padding-top:10px;padding-bottom:10px}.field-map-controls{align-items:center;gap:6px}.field-map-controls .field-map-command{height:34px;min-height:34px;border-radius:10px;padding:0 10px;white-space:nowrap;font-size:11px}.field-trip-summary{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:8px 0 0;padding:6px 0;min-height:30px;color:#718ba7}.field-trip-item{display:flex;align-items:baseline;justify-content:center;gap:7px;min-width:0;white-space:nowrap;line-height:1.5}.field-trip-item+ .field-trip-item{border-left:1px solid #dce5ef}.field-trip-item>span{font-size:11px}.field-trip-item>strong{font-size:14px;font-weight:650;color:#456e97}.field-trip-item>small{font-size:10px;color:#8ea2b8}.field-trip-summary+.field-bank-details{margin-top:6px}@media(max-width:350px){.field-trip-item{gap:4px}.field-trip-item>span{font-size:10px}.field-trip-item>strong{font-size:12px}.field-trip-item>small{font-size:9px}.field-map-controls .field-map-command{padding:0 8px;font-size:10px}}
.field-trip-summary{gap:8px;padding:0;margin:9px 0 0;min-height:0}.field-trip-summary .field-trip-item{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:52px;min-width:0;padding:7px 10px;background:#fff;border:1px solid #dce5ef;border-radius:12px;text-align:left;font-family:inherit;cursor:pointer;color:#6f8ba8;box-shadow:0 1px 2px #4d729508}.field-trip-item:focus-visible,.field-place-icon:focus-visible{outline:2px solid #87add4;outline-offset:2px}.field-trip-summary .field-trip-item:hover{background:#f7faff;border-color:#c5d7e9}.field-trip-summary .field-trip-item:disabled{cursor:default;opacity:.58}.field-trip-item .field-trip-icon{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:8px;background:#f0f5fc;color:#7a9abc}.field-trip-icon svg{width:17px;height:17px}.field-trip-item .field-trip-content{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px}.field-trip-main{display:flex;align-items:baseline;justify-content:space-between;gap:5px}.field-trip-main>span{font-size:11px}.field-trip-main>strong{font-size:14px;font-weight:650;color:#456e97}.field-trip-content>small{font-size:10px;line-height:1.4;color:#8ea2b8}.field-trip-item>i{font-style:normal;font-size:15px;flex:0 0 auto;color:#a0b5ca}.field-place-icon{display:grid;place-items:center;width:30px;height:30px;padding:6px;background:#eef5ff;border:1px solid #a6bfdb;border-radius:10px;box-shadow:0 2px 7px #456d9726;color:#547ca7;cursor:pointer}.field-place-icon svg{width:18px;height:18px}.field-place-icon-company{background:#f2f6fb;color:#6685a5}@media(max-width:350px){.field-trip-summary{gap:7px}.field-trip-summary .field-trip-item{gap:6px;padding:7px 8px}.field-trip-main>span{font-size:10px}.field-trip-main>strong{font-size:12px}.field-trip-content>small{font-size:9px}.field-trip-item .field-trip-icon{width:24px;height:24px;flex-basis:24px}}

.map-admin-actions,.map-editor-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.map-editor-heading{justify-content:space-between;margin-bottom:16px}.map-admin-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid var(--border);background:white;padding:15px 0;text-align:left;color:var(--ink)}.map-admin-row small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.map-admin-row>span:last-child{white-space:nowrap;color:var(--blue)}#map-admin>section{margin-bottom:16px}.map-place-editor{width:min(640px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:1px solid var(--border);border-radius:18px;padding:22px;color:var(--ink)}.map-place-editor::backdrop{background:#17284077}.map-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.map-place-editor .field{min-width:0}.map-place-editor input,.map-place-editor select{max-width:100%;min-width:0}#map-admin-status,#map-editor-status{overflow-wrap:anywhere}#map-source-form{margin-top:12px}#map-admin-history{overflow-wrap:anywhere}

.map-admin-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.map-admin-filters .field{min-width:0}.map-admin-filters select{width:100%;min-width:0;max-width:100%}.map-admin-row>span:first-child{min-width:0;overflow-wrap:anywhere}.map-admin-row strong{display:block}

/* All map choices and commands stay together on one compact row. */
@media(max-width:600px){
 .field-map-toolbar{flex-wrap:nowrap;gap:6px;padding:9px 8px;align-items:center}
 .field-map-toolbar .field-map-filter-group{flex:0 0 auto;display:flex;align-items:center;gap:3px}
 .field-map-filter-group .field-map-select{flex:0 0 auto;min-width:0;font-size:13px;padding:7px 2px;background:transparent}
 #map-vehicle{width:46px}#map-category{width:70px}#map-assignment{width:56px}
 .field-map-toolbar .field-map-controls{flex:0 0 auto;margin-left:auto;gap:4px}
 .field-map-toolbar .field-map-controls .field-map-command{font-size:11px;padding:0 8px}
}
@media(max-width:350px){
 .field-map-toolbar{gap:3px;padding:8px 5px}
 .field-map-toolbar .field-map-filter-group{gap:2px}
 .field-map-filter-group .field-map-select{font-size:12px;padding:7px 1px}
 #map-vehicle{width:43px}#map-category{width:61px}#map-assignment{width:49px}
 .field-map-toolbar .field-map-controls{gap:3px}
 .field-map-toolbar .field-map-controls .field-map-command{font-size:10px;padding:0 5px}
}

/* Employee accounts: keep identity, status and actions readable on phones. */
.employee-account-tabs{margin:18px 0 14px}.employee-account-panel{padding:18px}.employee-account-table{table-layout:auto}.employee-account-table th,.employee-account-table td,.employee-account-table .employee-detail-link,.employee-account-table .text-btn{white-space:nowrap;word-break:normal;overflow-wrap:normal}.employee-account-table th,.employee-account-table td{padding:14px 10px}.employee-account-table td:last-child,.employee-account-table th:last-child{text-align:right}.employee-account-table .text-btn{min-height:40px;padding:8px 0;font-size:inherit}
@media(max-width:600px){.employee-account-panel{padding:10px 8px}.employee-account-table th,.employee-account-table td{padding:11px 5px;font-size:12px}.employee-account-table th{font-size:11px}.employee-account-tabs{margin:14px 0 12px}.employee-account-tabs button{white-space:nowrap}.employee-account-table .account-role{font-size:11px}}
@media(max-width:360px){.employee-account-table th,.employee-account-table td{padding-left:4px;padding-right:4px;font-size:11px}.employee-account-panel{padding-left:5px;padding-right:5px}}

.disabled-account-inquiry{margin:14px 0;padding-top:14px;border-top:1px solid var(--border)}.disabled-account-inquiry textarea{width:100%;resize:vertical}.account-inquiry-messages p{white-space:pre-wrap;overflow-wrap:anywhere}.account-inquiry-messages>div{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}

.employee-calendar-pending span{display:block;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.employee-calendar-pending{font-size:clamp(7px,1.8vw,9px);line-height:1.35;letter-spacing:-.35px}.duty-request-success{margin:18px 0;padding:22px 16px;text-align:center;background:#f0f7f4;border:1px solid #d4e8dd;border-radius:14px;color:#345f50}.request-success-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dcefe4;font-size:25px}.duty-request-success h3{margin:12px 0;font-size:19px}.duty-request-success p{line-height:1.6}.duty-request-success+.document-actions{justify-content:flex-end}

/* Keep each shift's support, reason and absences together, in reading order. */
.duty-support.duty-support-handover{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);column-gap:8px;row-gap:0}
.duty-support-column{min-width:0;display:flex;flex-direction:column;gap:3px;margin:0;padding:0}
.duty-support-outgoing{grid-column:1;grid-row:1}.duty-support-incoming{grid-column:3;grid-row:1}
.duty-support-change-arrow{grid-column:2;grid-row:1;align-self:start;padding-top:2px}
.duty-support-column .duty-support-current-line,.duty-support-column .duty-support-next-line{gap:4px;line-height:1.6;min-height:20px;margin-bottom:3px}
.duty-support-column .duty-support-current-note,.duty-support-column .duty-support-next-note,.duty-support-column .duty-summary-leave,.duty-support-column .duty-summary-extra{display:block;line-height:1.6;font-size:11px;color:#8b9db3;overflow-wrap:anywhere}
.duty-support-column .duty-support-current-line>span,.duty-support-column .duty-support-next-line>span{white-space:nowrap}
.duty-support.duty-support-stacked{grid-template-columns:minmax(0,1fr);row-gap:3px}
.duty-support-stacked .duty-support-line{grid-column:1;grid-row:1;margin-bottom:3px}
.duty-support-stacked .duty-support-reason{grid-column:1;grid-row:2;font-size:11px;line-height:1.6}
.duty-support-stacked .duty-summary-leave{grid-column:1;grid-row:3}.duty-support-stacked .duty-summary-extra{grid-column:1;grid-row:4}
.duty-support-stacked .duty-summary-leave,.duty-support-stacked .duty-summary-extra{line-height:1.6}
@media(max-width:560px){.duty-support-column .duty-support-current-line,.duty-support-column .duty-support-next-line{gap:3px;font-size:9px}.duty-support-column .duty-support-current-note,.duty-support-column .duty-support-next-note,.duty-support-column .duty-summary-leave,.duty-support-column .duty-summary-extra,.duty-support-stacked .duty-support-reason{font-size:9px}.duty-support-column .duty-employee-link{font-size:12px}}

.duty-support.duty-support-regular{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:12px;row-gap:4px}.duty-support-regular .duty-support-line{grid-column:1;grid-row:1}.duty-support-regular .duty-support-reason{grid-column:1;grid-row:2;margin:0}.duty-support-regular .duty-summary-leave{grid-column:2;grid-row:1}.duty-support-regular .duty-summary-extra{grid-column:2;grid-row:2}.duty-support-compact-reason{white-space:nowrap;display:inline-block;font-size:inherit;letter-spacing:-.2px}@media(max-width:560px){.duty-support.duty-support-regular{column-gap:8px}.duty-support-regular .duty-support-reason{font-size:9px}.duty-support-column .duty-support-compact-reason{font-size:9px}}

@media(max-width:560px){.duty-support-column .duty-support-compact-reason,.duty-support-regular .duty-support-compact-reason{font-size:clamp(7px,2.3vw,9px);letter-spacing:-.25px}}

.duty-slot .duty-person-note{word-break:keep-all;overflow-wrap:break-word}
/* Field map uses the same quiet blue controls and compact spacing as the portal. */
.page-title.field-map-title{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;margin-bottom:10px}.field-map-title h1{flex:none;font-size:23px;margin:0;white-space:nowrap}.field-map-tabs{display:flex;flex:1;justify-content:flex-end;gap:4px;min-width:0;white-space:nowrap}.field-map-tabs button,.field-map-command{border:1px solid #d9e5f2;background:#f5f9fe;color:#6488ad;border-radius:9px;font:600 12px/1.25 inherit}.field-map-tabs button{padding:9px 11px;white-space:nowrap;font-family:inherit;font-size:12px;font-weight:600;min-height:34px}.field-map-tabs button.active,.field-map-command[aria-pressed=true]{background:#e5effb;color:#175b9f;border-color:#b9cfe7}.field-map-refresh-controls{display:flex;flex:none;gap:6px;white-space:nowrap}.field-map-status{align-items:center;gap:8px;padding:9px 11px}.field-map-status>span{min-width:0;font-size:10px;line-height:1.5}.field-map-refresh-controls .field-map-command,.field-map-controls .field-map-command{height:32px;min-height:32px;padding:0 9px;font-size:11px;white-space:nowrap}.field-map-refresh-controls .field-map-command{gap:5px}.field-map-command[aria-pressed] span{font-size:9px;color:#8da2b8}.field-map-command[aria-pressed=true] span{color:#216eae}#map-refresh{min-width:32px;padding:0;font-size:21px}.field-map-controls #map-names{gap:5px}.field-map-pin span.is-delayed,.field-bank-eta.is-delayed,.field-trip-main strong.is-delayed{color:#bd5b63}.field-convenience-pin{border-color:#cbd9e6}.field-convenience-pin.brand-CU{border-color:#b9cfb4}.field-convenience-pin.brand-GS25{border-color:#afd2de}
@media(max-width:600px){.field-map-title h1{font-size:20px}.page-title.field-map-title{gap:7px}.field-map-tabs{gap:3px}.field-map-tabs button{font-size:11px;padding:8px 8px;min-height:32px}.field-map-refresh-controls .field-map-command{font-size:10px;padding:0 7px}.field-map-status>span{font-size:9px}.field-map-status{gap:6px}}@media(max-width:350px){.field-map-title h1{font-size:18px}.field-map-tabs button{font-size:10px;padding:7px 6px}.page-title.field-map-title{gap:5px}.field-map-refresh-controls{gap:4px}.field-map-refresh-controls .field-map-command{padding:0 5px}}

.field-map-frame{position:relative}.field-road-controls{position:absolute;left:10px;top:10px;z-index:12;display:flex;gap:5px}.field-road-controls .field-map-command{height:29px;min-height:29px;padding:0 8px;font-size:10px;white-space:nowrap;background:rgba(248,251,255,.95);box-shadow:0 1px 5px #23476a15;display:flex;align-items:center;gap:5px}.field-road-controls .field-map-command[aria-pressed=true]{background:#eaf2fc}.field-road-info{position:absolute;bottom:6px;left:9px;z-index:11;max-width:60%;font-size:9px;color:#647e97;line-height:1.4;background:#ffffffde;border-radius:4px;padding:2px 4px;pointer-events:none}.field-road-icon{display:grid;place-items:center;width:24px;height:24px;padding:3px;border:0;background:transparent;color:#b67e37}.field-road-icon svg{width:18px;height:18px;fill:#fff7e8;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #ffffff)}.field-road-icon.accident{color:#bd6770}.field-road-icon.accident svg{fill:#fff1f2}.field-road-icon[hidden]{display:none}

.field-pin-anchor .field-map-pin[hidden]{display:none}
.customer-heading-actions{display:flex;align-items:center;gap:16px}.customer-link-trigger{height:38px;white-space:nowrap;padding:0 15px;border:1px solid #e0e6ee;border-radius:10px;background:#f5f7fa;color:#8395a8;font:600 13px inherit}.customer-link-trigger.active{background:#e8f2ff;border-color:#aac9ed;color:#1765ae;box-shadow:0 0 0 3px #edf5ff}.customer-link-dialog{width:min(440px,calc(100% - 28px));max-height:90dvh;overflow:auto;padding:24px;border:1px solid #dce7f4;border-radius:22px;color:#294461}.customer-link-dialog::backdrop{background:#132e4b66;backdrop-filter:blur(3px)}.customer-link-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.customer-link-dialog-head h2{font-size:20px;margin:0}.customer-link-intro{text-align:center;font-size:13px;color:#8196ad;margin:20px 0 14px}.customer-link-qr{position:relative;width:min(280px,100%);aspect-ratio:1;margin:0 auto;background:#fff;border-radius:16px}.customer-link-qr svg{width:100%;height:100%;display:block}.customer-link-qr>span{position:absolute;width:14%;height:11%;background:#fff;left:43%;top:44.5%;border-radius:3px;display:grid;place-items:center;padding:3px}.customer-link-qr img{width:100%;height:auto}.customer-link-expiry{text-align:center;color:#7b94b0;font-size:13px}.customer-link-actions{display:flex;gap:8px}.customer-link-actions .btn{flex:1;min-width:0}.customer-link-confirm{text-align:center;padding:26px 0 10px}.customer-link-confirm-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:17px;background:#edf4fc;color:#5585b5;font-size:26px}.customer-link-confirm h3{font-size:18px}.customer-link-confirm p{font-size:13px;line-height:1.9;color:#8499b1;margin-bottom:24px}.customer-link-dialog #customer-link-status{color:#8a7891;font-size:12px}.customer-direct-badge{display:inline-block;color:#367bab;background:#edf5fc;border-radius:6px;padding:4px 7px;font-size:10px;white-space:nowrap}.customer-account-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px}.customer-account-row select{min-width:0;width:100%;font-size:14px}.customer-info-record .customer-record-name{flex-wrap:wrap}@media(max-width:560px){.customer-heading-actions{gap:9px}.customer-link-trigger{height:34px;padding:0 11px;font-size:12px}.customer-heading-actions>a{font-size:11px}.customer-link-dialog{padding:20px}.customer-link-dialog-head h2{font-size:18px}.customer-account-row{gap:9px}.customer-account-row select{font-size:13px}}
.customer-qr-card{width:min(300px,100%);margin:0 auto;background:#fff;border:1px solid #e2eaf3;border-radius:18px;padding:10px 10px 14px;box-shadow:0 5px 18px #264e7507}.customer-qr-card .customer-link-qr{width:100%;border-radius:8px}.customer-qr-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf1f6;margin:0 8px;padding-top:12px}.customer-qr-brand img{width:75px;height:auto;flex:none}.customer-qr-brand>span{font-size:11px;color:#91a5ba;letter-spacing:.2px}.customer-edited-badge,.customer-deleted-badge{display:inline-block;border-radius:6px;padding:4px 7px;font-size:10px;white-space:nowrap}.customer-edited-badge{color:#488772;background:#edf7f2}.customer-deleted-badge{color:#92757c;background:#f7eef0}.customer-record-deleted .customer-record-name>strong,.customer-record-deleted .customer-position,.customer-record-deleted .customer-record-phone,.customer-record-deleted .customer-record-details{text-decoration:line-through;color:#9aa9b9}.customer-record-deleted{background:#fafbfd}.customer-record-deleted .customer-record-phone{pointer-events:none}.customer-link-trigger{font-family:inherit;font-size:13px;font-weight:600}

.customer-link-qr svg rect{stroke:none}

/* Compact, consistent administration hierarchy. */
.yescom-admin #main h1{font-size:clamp(26px,3vw,32px);line-height:1.25;margin-bottom:20px}
.yescom-admin #main h2{font-size:20px;line-height:1.4;margin:0 0 8px}
.yescom-admin #main h3{font-size:17px;line-height:1.4;margin:18px 0 10px}
.yescom-admin #main .panel{padding:18px;border-radius:16px;margin-bottom:14px}
.yescom-admin #main .staff-category{min-height:0;padding:18px;gap:4px}
.yescom-admin #main .staff-category h2{font-size:18px;margin:0 0 6px}
.yescom-admin #main .staff-category p,.yescom-admin #main .source-note{font-size:13px;line-height:1.55;margin:4px 0 12px}
.yescom-admin #main .staff-category-grid{gap:12px;margin:14px 0;grid-template-columns:repeat(2,minmax(0,1fr))}
.yescom-admin #main .btn{min-height:40px;padding:10px 14px;font-size:14px;line-height:1.3;border-radius:12px}
.yescom-admin #main summary{font-size:16px;font-weight:600;cursor:pointer}
.yescom-admin #main .admin-settings>summary{display:list-item;line-height:1.5}
.yescom-admin #main .admin-settings>summary span{font-size:18px}
.yescom-admin #main .admin-settings>summary small{display:block;font-size:13px;font-weight:400;color:var(--muted,#7e91a8);margin:3px 0 0 18px}
.admin-settings-body{padding-top:18px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-form-grid .field{min-width:0;margin:0 0 10px}.admin-form-grid input,.admin-form-grid select{width:100%;min-width:0;font-size:16px;box-sizing:border-box}.admin-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e4ebf4}.admin-mapping{padding:14px;border:1px solid #dce5f1;border-radius:12px;margin:14px 0}.admin-mapping legend{font-size:14px;font-weight:600;padding:0 6px}.admin-conflict{border-left:3px solid #d4a75a;padding:10px 12px;margin:10px 0;background:#fffaf1;border-radius:8px;font-size:14px}.admin-conflict p{font-size:12px;margin:4px 0}.yescom-admin #main .document-actions{gap:10px;flex-wrap:wrap}.yescom-admin #main table{font-size:13px}.yescom-admin #main label.field{font-size:14px}.duty-slot>span>.duty-handover{display:block;font-size:10px;margin-top:3px}
@media(max-width:400px){.admin-form-grid{grid-template-columns:1fr}.yescom-admin #main .panel{padding:15px}.yescom-admin #main .staff-category-grid{gap:10px}.yescom-admin #main .staff-category{padding:14px}.yescom-admin #main .staff-category h2{font-size:17px}}

/* Compact admin rhythm: one spacing scale, contained fields and single-line actions. */
.yescom-admin #main{--admin-gap:8px;min-width:0;padding-top:18px}
.yescom-admin #main h1{font-size:26px;line-height:1.25;margin:0 0 14px}
.yescom-admin #main h2{font-size:17px;line-height:1.35;margin:0 0 6px}
.yescom-admin #main h3{font-size:15px;line-height:1.4;margin:14px 0 7px}
.yescom-admin #main .panel{padding:12px;border-radius:12px;margin-bottom:8px;min-width:0;box-sizing:border-box}
.yescom-admin #main .panel p{margin-top:4px;margin-bottom:6px}
.yescom-admin #main .source-note{font-size:12px;line-height:1.5;margin:4px 0 8px}
.yescom-admin #main .admin-mode-grid{gap:8px}
.yescom-admin #main .admin-mode-card{min-height:66px;padding:11px 12px;gap:10px;margin:0}
.yescom-admin #main .admin-mode-card h2{font-size:16px;margin:0 0 3px}
.yescom-admin #main .admin-mode-card p{font-size:12px;line-height:1.4;margin:0}
.yescom-admin #main .admin-mode-icon{width:32px;height:32px;font-size:20px}
.yescom-admin #main .staff-category-grid{gap:8px;margin:8px 0}
.yescom-admin #main .staff-category{padding:12px;gap:3px;margin:0;min-height:0}
.yescom-admin #main .staff-category h2{font-size:16px;margin:0 0 4px}
.yescom-admin #main .staff-category p{font-size:12px;line-height:1.4;margin:0}
.yescom-admin #main .admin-settings>summary{line-height:1.4}
.yescom-admin #main .admin-settings>summary span{font-size:16px}
.yescom-admin #main .admin-settings>summary small{font-size:12px;margin-top:2px}
.yescom-admin #main .admin-settings-body{padding-top:10px}
.yescom-admin #main .field{margin:8px 0;gap:5px;min-width:0}
.yescom-admin #main .field input,.yescom-admin #main .field select,.yescom-admin #main textarea{min-width:0;max-width:100%;box-sizing:border-box;padding:9px 10px}
.yescom-admin #main input[type=date],.yescom-admin #main input[type=time],.yescom-admin #main input[type=datetime-local]{display:block;min-inline-size:0;inline-size:100%;max-inline-size:100%;min-height:40px;overflow:hidden}
.yescom-admin #main input::-webkit-date-and-time-value{min-width:0;text-align:left}
.yescom-admin #main .staff-admin-dates,.yescom-admin #main .admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.yescom-admin #main .admin-form-grid .field{margin:0 0 7px}
.yescom-admin #main .admin-mapping{min-inline-size:0;padding:10px;margin:10px 0;border-radius:10px}
.yescom-admin #main .btn{min-height:40px;padding:9px 10px;font-size:13px;line-height:1.25;border-radius:9px;white-space:nowrap;box-sizing:border-box}
.yescom-admin #main .document-actions{display:flex;flex-wrap:nowrap;gap:6px;max-width:100%;min-width:0}
.yescom-admin #main .document-actions>*{min-width:0;flex:0 1 auto;white-space:nowrap}
.yescom-admin #main .document-actions:has(>:nth-child(3)):not(:has(>:nth-child(4)))>*{flex:1 1 0;padding-inline:5px;font-size:12px;text-align:center}
.yescom-admin #main .document-actions:has(>:nth-child(4)){overflow-x:auto}
.yescom-admin #main .absence-row{padding:10px 0;margin-top:10px;gap:8px}
.yescom-admin #main .absence-row p{font-size:12px;line-height:1.5}
.yescom-admin #main .banner-stats{gap:7px;margin-bottom:10px}
.yescom-admin #main .banner-stats>div{padding:10px;border-radius:11px}
.yescom-admin #main .banner-stats strong{font-size:22px}
.yescom-admin #main .banner-stats span{font-size:11px;margin-top:3px}
.yescom-admin #main .banner-admin-grid{gap:8px}
.yescom-admin #main .banner-preview-actions{gap:7px;margin:9px 0;flex-wrap:nowrap}
.yescom-admin #main .banner-preview-actions .btn,.yescom-admin #main .banner-preview-actions .text-btn{flex-shrink:0}
.yescom-admin #main .banner-preview-actions label{min-width:0;font-size:11px}
.yescom-admin #main .banner-list-tools{gap:6px;margin:12px 0 10px}
.yescom-admin #main .banner-list-tools select{min-width:0}
.yescom-admin #main .workspace-heading,.yescom-admin #main .page-title{margin-bottom:12px;gap:8px;min-width:0}
.yescom-admin #main .workspace-heading h1,.yescom-admin #main .page-title h1{margin-bottom:0}
@media(max-width:420px){.yescom-admin #main h1{font-size:24px}.yescom-admin #main .admin-form-grid label.field{font-size:12px}.yescom-admin #main .admin-form-grid input,.yescom-admin #main .admin-form-grid select{font-size:16px;padding:8px 6px}.yescom-admin #main .document-actions{gap:5px}.yescom-admin #main .banner-preview-actions{gap:6px}.yescom-admin #main .banner-preview-actions .btn{font-size:12px;padding-inline:8px}}
.yescom-admin #main :is(.form-error,.error,[role=status]):empty{display:none}
.yescom-admin #main .banner-settings-grid{gap:8px;margin-top:10px}
.yescom-admin #main :is(.banner-settings-grid,.admin-form-grid)>.field{margin:0}
.yescom-admin #main .banner-preview-conditions .banner-settings-grid{margin-top:10px}
.yescom-admin #main .admin-conflict{padding:8px 10px;margin:8px 0}
.duty-temporary-badge{display:inline-block;font-size:9px;font-weight:600;line-height:1.3;white-space:nowrap;color:#567d9d;background:#e9f1f8;border:1px solid #d6e4ef;border-radius:4px;padding:2px 4px}
/* Native WebKit temporal inputs have an intrinsic editor width; contain it instead
   of relying on width/min-width overrides against the platform shadow editor. */
.yescom-admin .admin-temporal-control{position:relative;display:block;isolation:isolate;contain:inline-size;overflow:hidden;inline-size:100%;min-inline-size:0;max-inline-size:100%;height:42px;box-sizing:border-box;border:1px solid #dce4ee;border-radius:8px;background:#fff;color:#415c78;font-size:16px;font-weight:400;line-height:1.25}
.yescom-admin .admin-temporal-control .admin-temporal-value{position:absolute;inset:0;display:flex;align-items:center;padding:0 32px 0 10px;white-space:nowrap;pointer-events:none;font:inherit;box-sizing:border-box;overflow:hidden}
.yescom-admin .admin-temporal-control:after{content:'▦';position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:17px;line-height:1;color:#7891aa;pointer-events:none}
.yescom-admin .admin-temporal-control[data-kind=time]:after{content:'◷'}
.yescom-admin .admin-temporal-control:focus-within{outline:2px solid #90b5dd;outline-offset:1px}
.yescom-admin .admin-temporal-control.is-empty{color:#8b9eb2}.yescom-admin .admin-temporal-control.is-disabled{background:#f3f5f8;color:#95a3b2}
.yescom-admin #main .admin-temporal-control>input,.yescom-admin dialog .admin-temporal-control>input{position:absolute!important;inset:0!important;display:block!important;inline-size:100%!important;width:100%!important;max-width:100%!important;min-width:0!important;min-inline-size:0!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;box-sizing:border-box!important;opacity:0;z-index:1;cursor:pointer;appearance:none;-webkit-appearance:none}
.yescom-admin #main .admin-form-grid .field{display:flex;flex-direction:column;justify-content:flex-end;align-self:stretch;gap:6px;min-width:0}
.yescom-admin #main .admin-form-grid select{height:42px;min-height:42px;line-height:1.25}
.yescom-admin #main .admin-form-grid .field:has(input[type=datetime-local]){grid-column:1/-1}
.yescom-admin #main .admin-form-grid,.yescom-admin #main .staff-admin-dates{align-items:end}
.yescom-admin dialog{box-sizing:border-box;width:min(540px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:16px;overflow:auto;border-radius:14px}
.yescom-admin dialog h2{font-size:18px;line-height:1.4;margin:0 0 12px}
.yescom-admin dialog :is(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
.yescom-admin dialog .field{min-width:0;gap:6px;margin:10px 0}
.yescom-admin dialog :is(.document-actions,.form-actions){display:flex;flex-wrap:nowrap;gap:6px;min-width:0}
.yescom-admin dialog :is(.document-actions,.form-actions)>:is(button,.btn){min-width:0;flex:1 1 0;white-space:nowrap;font-size:12px;padding:10px 6px;min-height:40px}

/* Keep map labels stable while ETAs load and soften the topmost location dot. */
.map-layout-draggable{touch-action:none;user-select:none;cursor:grab}.map-layout-draggable:active{cursor:grabbing;outline:2px solid #5597d6}
#map-admin>.panel:has(>[data-layout-canvas]){padding:0;overflow:hidden}#map-admin>.panel:has(>[data-layout-canvas])>:is(h2,p,.map-admin-actions){margin-left:16px;margin-right:16px}#map-admin>.panel:has(>[data-layout-canvas])>h2{margin-top:16px}
.field-map-pin span{display:inline-block;width:32px;flex:0 0 32px;text-align:right}
.field-my-location{border-color:rgba(255,255,255,.78);background:rgba(70,140,211,.68);box-shadow:0 0 0 8px rgba(70,140,211,.13);opacity:.76}
