@charset "UTF-8";
:root{--bg:#f5f6f3;--paper:#fff;--ink:#202c29;--muted:#73807a;--border:#e3e8e3;--green:#245f4d;--green-dark:#143b34;--mint:#eaf3ec;--soft:#f8faf7;--orange:#bc7133;--red:#b14442;--shadow:0 16px 55px #132e2920;--radius:14px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.57}a{color:var(--green)}svg.icon{width:20px;height:20px;stroke-width:1.65;vertical-align:middle;flex-shrink:0}button svg.icon{width:18px;height:18px}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #6bb69a;outline-offset:3px}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:12px;top:-80px;z-index:2000;padding:12px;background:white}.skip-link:focus{top:12px}.initial-load{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.initial-load h1{font-size:25px;margin:12px 0 0}.initial-load p{color:var(--muted)}.brand-symbol{display:inline-grid;place-items:center;background:var(--green-dark);color:#fff;width:44px;height:44px;border-radius:12px;font-weight:750;font-size:15px;letter-spacing:-1px}.spinner{display:inline-block;width:22px;height:22px;border:2px solid #bed4c8;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.noscript{position:fixed;inset:auto 0 0;background:#fff4d9;padding:25px;text-align:center;z-index:9999}
.app-shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--green-dark);color:#ecf3ee;display:flex;flex-direction:column;padding:30px 20px 20px;z-index:90}.brand{display:flex;align-items:center;gap:11px;padding:0 6px 31px}.brand img{width:39px;height:39px}.brand strong{font-size:21px;letter-spacing:-.7px;font-weight:700;display:block}.brand span{display:block;font-size:10px;letter-spacing:2px;color:#a7c5b7;margin-top:5px;text-transform:uppercase}.nav-label{font-size:10px;letter-spacing:1.7px;font-weight:600;color:#82a399;margin:12px 15px}.nav-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}.nav-button{color:#b9cdc5;background:transparent;border:0;width:100%;display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:9px;text-align:left;font-size:13px}.nav-button:hover{color:white;background:#ffffff0b}.nav-button.active{background:#ffffff15;color:white;box-shadow:inset 3px 0 #b0d7a8}.nav-button .nav-count{margin-left:auto;background:#ffffff15;padding:2px 7px;border-radius:6px;font-size:10px}.sidebar-note{margin:auto 8px 23px;padding:18px 14px;background:#ffffff07;border:1px solid #ffffff0e;border-radius:11px}.sidebar-note svg{color:#b8d7b3}.sidebar-note strong{display:block;font-size:12px;margin:9px 0 7px;font-weight:600}.sidebar-note p{font-size:11px;line-height:1.65;color:#9db9ad;margin:0}.sidebar-bottom{border-top:1px solid #ffffff13;display:flex;align-items:center;gap:10px;padding:20px 5px 0;color:#b7cbc2;font-size:11px}.sidebar-bottom small{display:block;margin-top:4px;color:#819f91}.avatar{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#3c5c4f;color:#def1df;font-weight:600}.sidebar-bottom .logout{margin-left:auto;background:transparent;border:0;color:#a9c1b6;padding:7px}.workspace{min-width:0}.topbar{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#fff;border-bottom:1px solid var(--border);gap:16px}.breadcrumb{display:flex;align-items:center;gap:13px;color:#89958f;font-size:12px}.breadcrumb strong{color:#41544c;font-weight:500}.breadcrumb svg{width:15px;height:15px}.topbar-right{display:flex;align-items:center;gap:17px;font-size:11px;color:var(--muted)}.connection-dot{display:inline-block;width:6px;height:6px;background:#6e9a71;border-radius:50%;margin-right:7px}.topbar-right .small-avatar{width:29px;height:29px;border-radius:50%;background:#eaf0e8;display:grid;place-items:center;color:var(--green);font-size:10px;font-weight:600}.mobile-menu{display:none}.main{padding:34px 38px 35px;max-width:1900px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.7px;color:#85928a;font-weight:600;margin:0 0 9px}.page-heading h1{font-size:29px;line-height:1.2;letter-spacing:-1px;font-weight:650;margin:0}.page-heading p{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.heading-actions{display:flex;gap:9px;align-items:center}.btn{border:1px solid var(--border);background:#fff;color:#42564c;border-radius:8px;display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:10px 14px;min-height:38px;font-size:12px;font-weight:550;text-decoration:none;white-space:nowrap}.btn:hover{border-color:#afc4b8;background:#fafcf9}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.primary:hover{background:#1b4d3e}.btn.subtle{border-color:transparent;background:transparent;padding:8px 10px;color:var(--muted)}.btn.danger{color:var(--red);background:#fff8f7;border-color:#eed6d3}.btn.compact{padding:7px 10px;min-height:32px;font-size:11px}.icon-btn{border:1px solid transparent;background:transparent;color:#75867b;border-radius:7px;width:32px;height:32px;display:inline-grid;place-items:center;padding:6px}.icon-btn:hover{background:#eef3ed;color:var(--green)}.icon-btn.danger:hover{background:#fceceb;color:var(--red)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:27px}.stat-card{border:1px solid var(--border);background:#fff;border-radius:11px;padding:20px 21px;position:relative;overflow:hidden}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#738379;font-size:11px;gap:10px}.stat-top svg{color:#97aaa0;width:18px;height:18px}.stat-number{font-size:30px;letter-spacing:-1px;font-weight:600;margin:14px 0 7px;line-height:1}.stat-foot{font-size:10px;color:#8b978f}.stat-card.accent{background:#eaf0e7;border-color:#dde7d9}.stat-card.accent .stat-top,.stat-card.accent .stat-number{color:#375340}.stat-card.accent::after{content:"";position:absolute;border:1px solid #78976b13;border-radius:50%;width:130px;height:130px;right:-65px;bottom:-54px;box-shadow:0 0 0 15px #78976b0a,0 0 0 32px #78976b08}.stat-card.warn .stat-foot{color:#a9713b}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-title{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--border)}.panel-title h2{font-size:14px;font-weight:600;margin:0}.panel-title p{font-size:11px;color:var(--muted);margin:5px 0 0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 22px;border-bottom:1px solid var(--border);flex-wrap:wrap}.tabs{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.tab{border:0;color:#7f8b83;background:transparent;font-size:11px;padding:8px 11px;border-radius:6px;white-space:nowrap}.tab:hover{background:#f5f7f3}.tab.active{color:#315c45;background:#edf3e8;font-weight:600}.tab span{font-size:9px;margin-left:6px;opacity:.75}.search{display:flex;align-items:center;gap:9px;position:relative}.search svg{position:absolute;left:11px;color:#91a095;width:16px;height:16px}.search input{width:244px;font-size:11px;padding:10px 12px 10px 35px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--ink);height:35px}.search input::placeholder{color:#a1aba5}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}thead{background:#fafbf9}th{font-size:10px;letter-spacing:.35px;font-weight:550;color:#8a968f;padding:13px 20px;border-bottom:1px solid var(--border);white-space:nowrap}td{font-size:12px;border-bottom:1px solid #eef1ec;padding:17px 20px;vertical-align:middle}tr:last-child td{border-bottom:0}.order-row{cursor:pointer}.order-row:hover{background:#fcfdfa}.order-number{font-size:10px;color:#718c7a;display:block;margin-bottom:6px;font-variant-numeric:tabular-nums}.order-name{font-size:12px;font-weight:600;color:#334a3d;line-height:1.5;max-width:340px}.cell-sub{display:block;color:#9aa49e;font-size:10px;margin-top:5px;line-height:1.5}.status-badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:5px 8px;border-radius:5px;font-size:10px;background:#f0f3f6;color:#64818e}.status-badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-badge.in_progress{background:#fdf1de;color:#a77b37}.status-badge.submitted{background:#eff0fa;color:#7d79b2}.status-badge.done{background:#eaf4eb;color:#61916b}.status-badge.archived{background:#f2f3f1;color:#91988f}.file-badges{display:flex;gap:5px}.file-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;color:#8a9a90;background:#f5f7f3;border:1px solid #e8ede4;padding:4px 6px;border-radius:4px;white-space:nowrap}.file-badge.dxf{color:#5a8771;background:#f0f7ee;border-color:#e1edde}.file-badge.pdf{color:#ae8171;background:#fbf5f0;border-color:#f1e7de}.file-badge svg{width:11px;height:11px}.muted{color:var(--muted)}.overdue{color:#b76655;font-weight:550}.table-footer{padding:14px 22px;border-top:1px solid var(--border);color:#93a095;font-size:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.empty-state{padding:57px 25px 62px;max-width:560px;margin:auto;text-align:center}.empty-icon{width:69px;height:69px;display:grid;place-items:center;background:#eff4e9;color:#6a8c68;border:1px solid #e3ebdc;border-radius:20px;margin:0 auto 20px;transform:rotate(-5deg)}.empty-icon svg{width:30px;height:30px;transform:rotate(5deg)}.empty-state h2{font-size:19px;letter-spacing:-.4px;font-weight:600;margin:0 0 10px}.empty-state p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 20px}.empty-state .btn{margin:0 4px 8px}.hint-strip{margin-top:18px;display:flex;align-items:flex-start;gap:10px;font-size:11px;color:#8a978d;line-height:1.65}.hint-strip svg{width:16px;height:16px;margin-top:1px;color:#99ab9d}.empty-filter{padding:45px 20px;text-align:center;color:var(--muted);font-size:12px}.result-count{font-size:11px;color:var(--muted)}.select-small{padding:8px 30px 8px 10px;font-size:11px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#64786a;max-width:260px}.inline-actions{display:flex;gap:5px;align-items:center}.info-box{background:#eff6f0;border:1px solid #dfeadf;color:#56715a;padding:14px 16px;border-radius:8px;font-size:11px;line-height:1.75}.info-box.warning{background:#fff8e9;border-color:#f0e4c6;color:#997e42}.info-box.error{background:#fff2f1;border-color:#f0d3cd;color:#ac5e52}.info-box strong{font-weight:600}.info-box p{margin:5px 0 0}.info-box ul{margin:8px 0 0;padding-left:18px}.info-box li{margin:4px 0}.settings-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.settings-body{padding:22px}.settings-body h3{font-size:13px;margin:0 0 15px}.key-value{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:13px 0;border-bottom:1px solid #eef1eb;font-size:12px}.key-value:last-child{border:0}.key-value span{color:var(--muted)}.key-value strong{font-weight:500;text-align:right}.settings-note{font-size:11px;color:var(--muted);line-height:1.7;margin-top:20px}
.map-layout{display:grid;grid-template-columns:270px minmax(0,1fr);height:calc(100vh - 232px);min-height:490px;border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}.map-layer-panel{display:flex;flex-direction:column;border-right:1px solid var(--border);overflow:hidden}.map-layer-header{padding:20px 17px;border-bottom:1px solid var(--border)}.map-layer-header h2{font-size:13px;margin:0 0 8px}.map-layer-header p{font-size:10px;color:var(--muted);line-height:1.6;margin:0}.map-layer-tools{display:flex;gap:6px;margin-top:13px}.layer-list{padding:10px;overflow-y:auto;flex:1}.layer-item{border:1px solid var(--border);border-radius:8px;padding:11px;margin-bottom:8px;background:#fff}.layer-main{display:flex;align-items:flex-start;gap:9px}.layer-main input,.sub-layer input{accent-color:var(--green);margin:2px 0 0;width:14px;height:14px;flex-shrink:0}.layer-name{display:block;font-size:11px;color:#4e6655;line-height:1.5;overflow-wrap:anywhere}.layer-meta{font-size:9px;display:block;color:#94a097;margin-top:4px}.layer-expand{border:0;background:transparent;color:#90a294;padding:0 0 0 5px;cursor:pointer;margin-left:auto}.sub-layers{padding:10px 0 1px 23px;margin-top:8px;border-top:1px solid #f0f2ed}.sub-layer{display:flex;align-items:center;gap:7px;font-size:10px;margin-bottom:9px;color:#78907c}.color-dot{width:7px;height:7px;display:inline-block;border-radius:2px;flex-shrink:0}.layer-empty{padding:35px 14px;text-align:center;color:var(--muted);font-size:11px;line-height:1.8}.map-surface{position:relative;overflow:hidden;min-width:0;background:#f1f2ec}.map-canvas{height:100%;width:100%;background-color:#f1f2ec!important;background-image:linear-gradient(#dae0d44d 1px,transparent 1px),linear-gradient(90deg,#dae0d44d 1px,transparent 1px)!important;background-size:32px 32px!important}.map-tools{position:absolute;z-index:600;right:16px;top:16px;display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 70px)}.map-tools .btn,.map-tools .select-small{box-shadow:0 2px 10px #2236290b;border:1px solid #dce4d8;background:#fff;font-size:10px}.map-tools .btn{padding:8px 10px;min-height:34px}.map-message{position:absolute;z-index:550;left:50%;top:50%;transform:translate(-50%,-50%);max-width:390px;width:calc(100% - 40px);text-align:center;pointer-events:none;background:#fffffff2;border:1px solid #dfe7d9;padding:25px;border-radius:12px;box-shadow:0 10px 35px #3d593010}.map-message svg{width:33px;height:33px;color:#739276;margin-bottom:9px}.map-message h3{font-size:16px;font-weight:550;margin:0 0 8px}.map-message p{font-size:11px;line-height:1.7;color:#8a998d;margin:0}.map-coords{position:absolute;bottom:27px;right:12px;z-index:550;padding:5px 9px;background:#fffffff0;color:#83917f;border:1px solid #dfe5da;border-radius:5px;font-size:9px;font-variant-numeric:tabular-nums;pointer-events:none}.map-error{position:absolute;bottom:55px;left:14px;right:14px;z-index:560;background:#fff8e9;border:1px solid #e9ddbf;color:#a48345;padding:10px;border-radius:7px;font-size:11px;line-height:1.6;max-height:100px;overflow:auto}.map-loading{position:absolute;z-index:650;top:65px;left:50%;transform:translateX(-50%);background:#fff;padding:8px 13px;border-radius:6px;box-shadow:var(--shadow);font-size:10px;color:var(--muted);display:flex;gap:8px;align-items:center}.map-loading .spinner{width:14px;height:14px}.leaflet-container{font-family:inherit!important}.leaflet-control-zoom{border:1px solid #d7dfd0!important;box-shadow:0 1px 10px #38562c0a!important;margin:16px!important}.leaflet-control-zoom a{color:#6b8267!important;font-size:19px!important;font-weight:400!important;width:30px!important;height:30px!important;line-height:29px!important}.leaflet-control-attribution{font-size:9px!important;color:#8d9988!important;background:#ffffffe0!important}.leaflet-control-attribution a{color:#6b8a68!important}.leaflet-popup-content{font-size:11px;line-height:1.6;margin:15px!important;color:#4e6353;max-width:240px}.leaflet-popup-content strong{font-size:12px;display:block}.leaflet-popup-content button{margin-top:12px;background:#edf4e9;color:#3b694b;border:0;padding:7px 12px;border-radius:5px;font-size:10px}.leaflet-tooltip.cad-label{font-size:10px;padding:1px 3px;background:#ffffffbf;border:none;box-shadow:none;color:#384b40;white-space:pre;line-height:1.25}.leaflet-tooltip.cad-label::before{display:none}.map-footer-note{font-size:10px;color:#97a28e;margin-top:10px;line-height:1.6}.compact-map{height:360px;border:1px solid var(--border);border-radius:9px;overflow:hidden}.compact-map .map-tools{right:10px;top:10px}.compact-map .map-coords{bottom:24px}.file-layer-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.modal-overlay{position:fixed;inset:0;background:#152c254f;backdrop-filter:blur(3px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto;animation:appear .13s ease}.modal{background:#fff;border-radius:15px;box-shadow:var(--shadow);width:min(670px,100%);max-height:calc(100vh - 50px);display:flex;flex-direction:column;position:relative}.modal.wide{width:min(970px,100%)}.modal.pdf-modal{width:min(1130px,100%);height:calc(100vh - 50px)}.modal-header{padding:24px 27px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2{font-size:19px;letter-spacing:-.5px;font-weight:600;margin:0;line-height:1.4}.modal-header .subtitle{color:#8b9a8e;font-size:11px;margin:6px 0 0;line-height:1.6}.modal-body{padding:24px 27px;overflow:auto;flex:1}.modal-footer{padding:17px 27px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-shrink:0}.modal-footer .left-action{margin-right:auto}.modal-footer .footer-help{margin-right:auto;font-size:10px;color:var(--muted)}.modal form{display:contents}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full{grid-column:1/-1}.field label,.field-label{font-size:11px;color:#65806a;font-weight:550}.field label small{font-size:9px;color:#9aa996;font-weight:400}.field input,.field select,.field textarea{border:1px solid #dfe5db;border-radius:7px;background:#fff;padding:10px 11px;color:#3c503d;min-height:39px;font-size:12px;width:100%}.field input::placeholder,.field textarea::placeholder{color:#abb5a6}.field textarea{min-height:100px;resize:vertical;line-height:1.6}.field .help{font-size:10px;color:#99a58f;line-height:1.6;margin:0}.form-section-title{grid-column:1/-1;margin:9px 0 -3px;font-size:10px;text-transform:uppercase;letter-spacing:1.1px;color:#9ca693;padding-bottom:9px;border-bottom:1px solid #edf0e8}.check-label{display:flex;gap:9px;align-items:center;font-size:11px;color:#6a7f61;line-height:1.6}.check-label input{accent-color:var(--green);width:15px;height:15px}.form-error{color:#aa6252;background:#fff3ef;border:1px solid #f2d9cd;border-radius:7px;padding:11px 13px;font-size:11px;line-height:1.7;margin-bottom:17px}.detail-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.detail-tabs{padding:0 27px;border-bottom:1px solid var(--border);display:flex;gap:23px}.detail-tab{border:0;border-bottom:2px solid transparent;padding:15px 0;background:transparent;font-size:11px;color:#92a08b}.detail-tab.active{color:#426a46;border-bottom-color:#5f8b59;font-weight:550}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0}.detail-grid dt{font-size:10px;color:#95a28c;margin-bottom:7px}.detail-grid dd{margin:0;font-size:12px;color:#506548;line-height:1.6;overflow-wrap:anywhere}.detail-grid .full{grid-column:1/-1}.detail-note{white-space:pre-wrap;background:#fafbf7;padding:15px;border-radius:8px;border:1px solid #edf1e4;color:#73816a;font-size:11px;line-height:1.8;margin:7px 0 0}.file-card{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #edf1e7}.file-card:last-child{border:0}.file-icon{display:grid;place-items:center;border-radius:8px;width:40px;height:44px;background:#f1f6ee;color:#729769;flex-shrink:0}.file-icon.pdf{background:#fbf0e8;color:#bc9580}.file-info{flex:1;min-width:0}.file-name{font-size:11px;color:#4f6745;line-height:1.6;overflow-wrap:anywhere}.file-meta{font-size:10px;line-height:1.7;color:#96a48b;margin-top:4px}.file-actions{display:flex;gap:3px;flex-shrink:0}.file-warnings{font-size:10px;color:#ab8b4e;margin:7px 0 0}.file-warnings summary{cursor:pointer}.file-warnings ul{padding-left:15px;line-height:1.7}.dropzone{position:relative;border:1px dashed #aeca9d;border-radius:10px;padding:29px 20px;text-align:center;background:#f9fbf5;cursor:pointer;margin-bottom:17px;transition:background .12s}.dropzone:hover,.dropzone.dragover{background:#edf4e6;border-color:#73a056}.dropzone svg{width:27px;height:27px;color:#8eac7c}.dropzone h3{font-size:13px;font-weight:550;color:#577344;margin:11px 0 7px}.dropzone p{color:#95a488;font-size:10px;margin:0;line-height:1.7}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.upload-files{margin-bottom:18px;max-height:180px;overflow-y:auto}.upload-file{display:flex;align-items:center;gap:9px;padding:9px 0;font-size:11px;border-bottom:1px solid #edf0e7}.upload-file-name{flex:1;min-width:0;overflow-wrap:anywhere;color:#627952}.upload-file-size{font-size:9px;color:#9eab90;white-space:nowrap}.upload-state{font-size:10px;color:#7a9462}.upload-state.error{color:#b57958}.progress-bar{height:4px;border-radius:3px;background:#e9efdf;overflow:hidden;margin-top:10px}.progress-bar span{display:block;width:0;height:100%;background:#7ea45e;transition:width .15s}.progress-label{font-size:10px;color:#89a171;margin-top:8px;min-height:16px}.pdf-body{padding:0;overflow:hidden;display:flex;flex:1}.pdf-body iframe{width:100%;height:100%;border:0;background:#f3f5ef}.confirm-body{font-size:12px;color:#819473;line-height:1.8}.confirm-body strong{color:#536b40}.detail-error{padding:25px;color:var(--red)}
#toast-root{position:fixed;bottom:22px;right:25px;z-index:2000;display:flex;flex-direction:column;gap:9px;max-width:420px;width:calc(100% - 50px)}.toast{padding:14px 17px;background:#fff;border:1px solid #dce7d7;border-radius:9px;box-shadow:0 5px 25px #22452d1a;color:#537342;font-size:11px;line-height:1.6;display:flex;align-items:center;gap:11px;animation:appear .15s ease}.toast svg{width:17px;height:17px;flex-shrink:0}.toast.error{border-color:#eed8c9;color:#ab7558}.toast .toast-text{flex:1}.toast button{padding:4px 5px;border:0;background:transparent;color:inherit;font-size:11px;text-decoration:underline;white-space:nowrap}.toast .toast-close{text-decoration:none;font-size:18px;color:#9ca991}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-art{background:var(--green-dark);padding:52px 60px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;color:#fff;min-height:100vh}.login-art .brand{padding:0;position:relative;z-index:2}.login-art::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:60px 60px;transform:rotate(-15deg) scale(1.3)}.login-art::after{content:"";width:600px;height:600px;border:1px solid #aaccaa20;border-radius:45% 55% 58% 42%;position:absolute;right:-100px;top:100px;transform:rotate(20deg);box-shadow:0 0 0 40px #aaccaa08,0 0 0 80px #aaccaa06,0 0 0 120px #aaccaa04}.login-art-content{position:relative;z-index:2;padding-bottom:70px;max-width:440px}.login-art-content .eyebrow{color:#9dbda6;line-height:1.8}.login-art-content h1{font-size:41px;line-height:1.2;font-weight:500;letter-spacing:-1.6px;margin:16px 0 20px}.login-art-content p{font-size:13px;line-height:1.9;color:#adc7b3;max-width:330px}.login-art-footer{position:relative;z-index:2;font-size:10px;color:#82a98c}.login-main{display:flex;align-items:center;justify-content:center;padding:45px}.login-form{width:360px;max-width:100%}.login-form h2{font-size:26px;letter-spacing:-.8px;font-weight:600;margin:0 0 12px}.login-form>p{font-size:12px;color:#91a486;line-height:1.7;margin:0 0 32px}.login-form .field{margin-bottom:18px}.login-form .btn{width:100%;margin-top:8px;min-height:42px}.login-footnote{font-size:10px;color:#a3b199;line-height:1.8;margin-top:26px}.login-plan{margin:28px 0 0;display:flex;gap:8px}.login-plan span{font-size:10px;padding:6px 10px;border-radius:5px;border:1px solid #ffffff18;color:#adc8ac;background:#ffffff05}
@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.main{padding-top:43px}.page-heading{margin-bottom:32px}.page-heading h1{font-size:32px}.stat-card{padding:23px}.stat-top{font-size:12px}.stat-number{font-size:34px}.stat-foot{font-size:11px}td{padding-top:21px;padding-bottom:21px}.map-layout{height:calc(100vh - 250px)}}
@media(max-width:1250px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding-left:13px;padding-right:13px}.main{padding:27px 25px}.topbar{padding:0 25px}.stat-card{padding:17px}.page-heading h1{font-size:26px}th,td{padding-left:15px;padding-right:15px}.stats-grid{gap:11px}.search input{width:215px}.map-layout{grid-template-columns:235px minmax(0,1fr)}.map-layer-header{padding:17px 13px}.map-tools .select-small{max-width:165px}.login-art{padding:40px}.login-art-content h1{font-size:35px}}
@media(max-width:1000px){.app-shell{grid-template-columns:185px minmax(0,1fr)}.brand strong{font-size:18px}.brand span{font-size:8px}.brand img{width:31px}.nav-button{font-size:11px;gap:9px;padding:12px}.nav-label{margin-left:12px}.sidebar-note{padding:12px;margin-left:3px;margin-right:3px}.main{padding:25px 20px}.topbar{padding:0 20px;height:65px}.page-heading{align-items:flex-start}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.heading-actions .btn{font-size:10px;padding:9px 10px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:16px 18px}.stat-number{font-size:27px;margin-top:10px}.stat-foot{font-size:10px}.toolbar{padding:15px;gap:12px}.toolbar .search{width:100%}.toolbar .search input{width:100%}.map-layout{grid-template-columns:205px minmax(0,1fr);height:calc(100vh - 210px)}.map-tools{right:10px;top:10px;gap:5px}.map-tools .btn{font-size:9px;padding:7px}.settings-grid{grid-template-columns:1fr}.topbar-right .date{display:none}.login-art{padding:34px}.login-art-content h1{font-size:30px}.login-main{padding:35px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:230px;transform:translateX(-100%);transition:transform .2s;height:100dvh;z-index:950}.sidebar.mobile-open{transform:translateX(0);box-shadow:var(--shadow)}.mobile-backdrop{position:fixed;inset:0;background:#193d2850;z-index:940}.mobile-menu{display:inline-grid;width:30px;height:30px;place-items:center;background:transparent;border:0;color:#5e7854;padding:5px}.topbar{height:58px;padding:0 18px}.breadcrumb{gap:10px;font-size:10px}.topbar-right{gap:10px;font-size:10px}.topbar-right .small-avatar{display:none}.main{padding:24px 17px}.page-heading{gap:12px;margin-bottom:20px}.eyebrow{font-size:8px;margin-bottom:7px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px;max-width:260px}.heading-actions .btn:not(.primary){display:none}.heading-actions .btn.primary{font-size:10px;padding:9px}.heading-actions .btn svg{width:15px;height:15px}.stats-grid{gap:10px;margin-bottom:21px}.stat-card{padding:15px}.stat-top{font-size:10px}.stat-top svg{width:15px;height:15px}.stat-number{font-size:26px}.stat-foot{font-size:9px}.toolbar{padding:14px}.tabs{gap:1px}.tab{font-size:10px;padding:7px 8px}.tab span{margin-left:4px}.table-wrap{overflow:auto}table{min-width:675px}td{padding:15px}.empty-state{padding:40px 22px}.empty-state h2{font-size:17px}.empty-state p{font-size:11px}.hint-strip{font-size:10px}.table-footer{font-size:9px;padding:12px 14px}.map-layout{display:flex;flex-direction:column;height:calc(100dvh - 215px);min-height:520px}.map-layer-panel{height:165px;border-right:0;border-bottom:1px solid var(--border);flex-shrink:0;display:grid;grid-template-columns:170px 1fr}.map-layer-header{padding:13px;border-right:1px solid var(--border);border-bottom:0}.map-layer-header h2{font-size:11px}.map-layer-header p{font-size:9px}.map-layer-tools{gap:4px;margin-top:8px}.map-layer-tools .btn{font-size:9px;padding:5px}.layer-list{padding:8px}.layer-item{margin-bottom:5px;padding:8px}.map-surface{flex:1;min-height:350px}.map-tools .select-small{font-size:9px;max-width:155px;height:31px}.map-tools .btn{min-height:31px}.map-message{padding:18px}.map-message h3{font-size:14px}.map-message p{font-size:10px}.modal-overlay{padding:12px}.modal{max-height:calc(100dvh - 24px);border-radius:12px}.modal.pdf-modal{height:calc(100dvh - 24px)}.modal-header{padding:19px 19px 16px}.modal-header h2{font-size:17px}.modal-body{padding:19px}.modal-footer{padding:14px 19px;gap:7px}.modal-footer .btn{font-size:11px;padding:9px 11px}.form-grid{gap:15px}.field label{font-size:10px}.field input,.field select,.field textarea{font-size:13px}.detail-tabs{padding:0 19px;gap:21px}.detail-tab{font-size:10px}.file-card{flex-wrap:wrap}.file-info{min-width:150px}.file-actions{margin-left:auto}.modal-footer .footer-help{font-size:9px;max-width:150px}.login-page{display:block}.login-art{min-height:auto;padding:27px}.login-art .brand{padding:0}.login-art-content{padding-bottom:0;padding-top:30px;max-width:none}.login-art-content h1{font-size:29px;margin:12px 0}.login-art-content p{font-size:11px;margin:0;max-width:430px}.login-art-content .eyebrow{font-size:8px}.login-art-footer,.login-plan{display:none}.login-main{padding:33px 25px 40px}.login-form{width:400px}.login-form h2{font-size:22px}.login-form>p{margin-bottom:24px}.map-footer-note{font-size:9px}.settings-body{padding:19px}.key-value{font-size:11px}}
@media(max-width:420px){.topbar-right .online-text{display:none}.topbar-right .connection-dot{width:7px;height:7px;margin:0}.page-heading h1{font-size:22px}.form-grid{grid-template-columns:1fr}.field.full,.form-section-title{grid-column:auto}.detail-grid{grid-template-columns:1fr}.detail-grid .full{grid-column:auto}.table-footer{align-items:flex-start;flex-direction:column;gap:7px}.map-layer-panel{grid-template-columns:145px 1fr}.modal-footer .footer-help{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* DWG file badges share the CAD drawing layout. */
.file-badge.dwg{color:#516e98;background:#eef3fb;border-color:#dce6f5}.file-icon.dwg{color:#516e98;background:#eef3fb}.file-badges{flex-wrap:wrap}

/* Functional diagnostics and account screens. */
.sidebar{overflow-y:auto}.sidebar-note{flex-shrink:0}.diagnostic-filters{align-items:flex-end;flex-wrap:wrap}.diagnostic-filters .field{min-width:150px}.diagnostic-filters .diagnostic-search{flex:1;min-width:230px}.diagnostic-filters input,.diagnostic-filters select{min-height:39px}.diagnostic-table{table-layout:fixed;min-width:850px}.diagnostic-table th:first-child{width:21%}.diagnostic-table th:nth-child(2){width:23%}.diagnostic-table th:nth-child(3){width:42%}.diagnostic-table th:last-child{width:14%}.diagnostic-table td{overflow-wrap:anywhere;vertical-align:top}.diagnostic-message{font-size:12px;line-height:1.6}.log-level{font-weight:600}.log-level.error{color:var(--red)}.log-level.warning{color:#996729}.log-level.info{color:var(--green)}.diagnostic-detail{white-space:pre-wrap;overflow-wrap:anywhere;max-height:65vh;overflow:auto;background:var(--soft);padding:17px;border:1px solid var(--border);border-radius:9px;font:12px/1.65 ui-monospace,Consolas,monospace;user-select:text}.pagination{display:flex;gap:8px}.local-diagnostics{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:18px}.local-diagnostics p,.account-types p{margin:7px 0 0;line-height:1.6}.local-diagnostics .btn{flex-shrink:0}.account-types{margin-bottom:20px}.diagnostic-actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:760px){.diagnostic-filters{display:grid;grid-template-columns:1fr 1fr}.diagnostic-filters .field{min-width:0}.diagnostic-filters .diagnostic-search{grid-column:1/-1;min-width:0}.diagnostic-filters>button{grid-column:1/-1}.local-diagnostics{align-items:stretch;flex-direction:column}.local-diagnostics .btn{align-self:flex-start}.page-heading:has(+.local-diagnostics) .heading-actions .btn{display:inline-flex}.diagnostic-detail{font-size:11px}.pagination .btn{font-size:10px}}

@media(max-width:760px){.heading-actions.diagnostic-actions .btn:not(.primary){display:inline-flex}.heading-actions.diagnostic-actions{max-width:220px}}

.logs-retention{margin:0;padding:14px 22px;border-top:1px solid var(--border);font-size:11px;line-height:1.6;color:var(--muted)}

/* Construction book: functional lists and order classification. */
.book-current{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.page-heading .eyebrow{overflow-wrap:anywhere}
.construction-panel{margin-bottom:22px}
.construction-panel .panel-title{align-items:flex-start}
.construction-panel .settings-body{max-width:900px}
.construction-resume,.classification-notice{margin-bottom:18px}
.book-form-actions{margin-top:18px;display:flex;justify-content:flex-start}
.book-lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.book-list .panel-title{padding:18px;gap:10px;align-items:flex-start}
.book-list .panel-title h2{font-size:15px}
.book-list .panel-title .btn{flex-shrink:0}
.book-items{padding:0 18px}
.book-item{display:flex;gap:10px;align-items:center;padding:15px 0;border-bottom:1px solid var(--border)}
.book-item:last-child{border-bottom:0}
.book-item-content{min-width:0;flex:1}
.book-item-content strong{font-size:12px;line-height:1.6;overflow-wrap:anywhere;font-weight:550}
.book-item.inactive .book-item-content strong{color:var(--muted)}
.book-list-empty{padding:24px 0;font-size:12px;line-height:1.7;color:var(--muted)}
.book-setup{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}
.book-setup .btn{flex-shrink:0}
.order-filters{padding:17px 22px;display:grid;grid-template-columns:minmax(130px,1fr) minmax(170px,1.4fr) minmax(150px,1fr) auto;gap:14px;align-items:end;border-bottom:1px solid var(--border)}
.order-filters>.btn{justify-self:start}
.classification-filter{padding-bottom:9px;white-space:nowrap}
.orders-table{min-width:940px}
.orders-table td{overflow-wrap:anywhere}
.book-item-name{font-size:12px;font-weight:550;line-height:1.65;display:block;margin-top:3px}
.classification-badge{display:inline-flex;border:1px solid #ebdfbf;background:#fff8e8;color:#906b28;border-radius:5px;padding:3px 7px;font-size:10px;font-weight:500;line-height:1.5;margin-top:7px}
.detail-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.detail-status .classification-badge{margin-top:0}
.inline-item-trigger{align-self:flex-start;margin-top:3px}
.inline-item-editor{grid-column:1/-1;border:1px solid var(--border);border-radius:9px;padding:16px;background:var(--soft)}
.inline-item-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}
.legacy-data{margin-top:24px;border-top:1px solid var(--border);padding-top:15px;font-size:11px;color:var(--muted)}
.legacy-data summary{cursor:pointer;font-weight:550;line-height:1.7}
.legacy-data>p{line-height:1.7;margin:10px 0 16px}
.field input:disabled,.field select:disabled{background:#f3f5f0;color:#83927d}
@media(max-width:1250px){.book-lists{grid-template-columns:1fr}.book-list .panel-title{align-items:center}.order-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.classification-filter{align-self:end;min-height:39px;padding-bottom:0}.book-current{max-width:190px}}
@media(max-width:760px){.book-current{max-width:135px}.book-setup{align-items:flex-start;flex-direction:column;gap:10px}.order-filters{padding:14px;gap:12px}.book-lists{gap:15px}.book-list .panel-title{padding:16px}.book-items{padding:0 16px}.detail-summary{flex-wrap:wrap}}
@media(max-width:420px){.book-current{max-width:105px}.order-filters{grid-template-columns:1fr}.classification-filter{white-space:normal}.inline-item-editor{grid-column:auto}.inline-item-actions .btn{font-size:10px}.construction-panel .settings-body{padding:17px}}

/* Separate work status, archive scope and resumable post-update cleanup. */
.status-badge.prepared{background:#eef3fb;color:#4d6894;border-color:#dce6f5}
.status-badge.staked,.status-badge.performed,.status-badge.approved{background:#edf5e9;color:#4d713c;border-color:#d9e9d0}
.status-badge.cancelled{background:#f2f3f0;color:#6c7566;border-color:#e0e4dc}
.status-badge.not_approved{background:#fff0ed;color:#9c5546;border-color:#f1d8d1}
.cleanup-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.cleanup-notice>div{min-width:0}
.cleanup-notice p{margin:7px 0 0;line-height:1.7;overflow-wrap:anywhere}
.cleanup-notice .btn,.cleanup-notice .spinner{flex-shrink:0}
.cleanup-notice .spinner{width:22px;height:22px;margin:0}
.order-filters{grid-template-columns:minmax(130px,1fr) minmax(170px,1.4fr) minmax(150px,1fr) minmax(150px,1fr)}
@media(max-width:1250px){.order-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cleanup-notice{align-items:flex-start;flex-wrap:wrap;gap:12px}}
@media(max-width:420px){.order-filters{grid-template-columns:1fr}}

/* 0.8 — functional workflow, report revisions and optional map geometry. */
[hidden]{display:none!important}.sidebar .brand{flex-shrink:0}.sidebar .nav-list{padding-bottom:18px}.sidebar-note{margin-top:20px}.heading-actions{flex-wrap:wrap}.panel+.panel,.book-lists+.panel{margin-top:20px}.settings-body>form>.field,.settings-body>form>.form-grid,.modal-body>form>.field,.modal-body>form>.form-grid{margin-bottom:18px}.settings-body>form>.check-label{margin-bottom:18px}.help{font-size:11px;line-height:1.7;color:var(--muted)}.text-preserve{white-space:pre-wrap;overflow-wrap:anywhere}.text-error{color:#a5483d}.workflow-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px}.detail-grid+.btn{margin-top:20px}.detail-grid dd .btn{display:flex;margin-top:7px;width:max-content}.detail-tabs{overflow-x:auto;flex-shrink:0;white-space:nowrap}.detail-tab{flex-shrink:0}.detail-summary{align-items:flex-start;flex-wrap:wrap}.detail-summary>p{font-size:12px;line-height:1.7;margin:0;max-width:560px}.document-category{margin-bottom:25px}.document-category>h3{font-size:13px;color:var(--green);border-bottom:1px solid var(--border);padding-bottom:11px}.file-type{display:grid;place-items:center;width:40px;height:44px;background:#eff5ec;color:#64865d;border-radius:8px;flex-shrink:0}.file-type.pdf{background:#fbefe7;color:#a76b52}.file-type.txt{background:#eef1f8;color:#617192}.file-info>strong{font-size:12px;display:block;overflow-wrap:anywhere;line-height:1.6}.file-info>span{display:block;font-size:10px;line-height:1.7;color:var(--muted);margin-top:4px}.file-actions{flex-wrap:wrap}.dropzone{display:block}.revision-card{border:1px solid var(--border);border-radius:10px;padding:17px;margin-bottom:16px}.revision-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.revision-card h3{margin:0 0 7px;font-size:14px}.revision-card .muted{font-size:11px}.map-state{font-size:10px;color:#6e7e67;background:#f0f4ed;padding:6px 9px;border-radius:6px;max-width:190px}.comment-section+.comment-section{margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.comment-section h3{font-size:14px;margin-bottom:7px}.comment{border:1px solid var(--border);background:#fafcf8;border-radius:8px;padding:14px;margin:10px 0}.comment-reply{margin-left:20px;background:#fff}.comment header{display:flex;justify-content:space-between;gap:12px;font-size:11px;flex-wrap:wrap}.comment header span{font-size:10px;color:var(--muted)}.comment p{font-size:12px;line-height:1.75;margin:10px 0 0}.comment-form{border-top:1px solid var(--border);padding-top:14px;margin-top:17px}.comment-form .field{margin-bottom:13px}.history-list{list-style:none;padding:0;margin:0}.history-list li{padding:16px 0;border-bottom:1px solid var(--border)}.history-list strong{display:block;font-size:12px;line-height:1.6}.history-list span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.history-list p{font-size:12px;line-height:1.7}.status-badge.review_ready{background:#eef2fc;color:#5572a0}.status-badge.performed{background:#fff2d9;color:#987637}.status-badge.corrections,.status-badge.not_approved{background:#fbeae6;color:#ae6656}.status-badge.approved,.status-badge.staked{background:#e8f4e8;color:#5e8a5a}.status-badge.cancelled{background:#efefed;color:#8a8e84}.status-badge.prepared{background:#edf5f4;color:#4f8781}.map-search-panel{margin-bottom:17px}.map-search-panel .search{flex:1;min-width:230px}.map-search-panel .search input{width:100%}.map-search-hint{margin:11px 20px}.map-search-list{max-height:260px;overflow:auto;padding:5px 18px}.map-search-result{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--border);font-size:12px}.map-search-result:last-child{border-bottom:0}.map-search-result>div:first-child{min-width:0;overflow-wrap:anywhere}.map-search-result .file-actions{flex-shrink:0}.map-report-popup div{margin-top:4px}.map-layer-panel .layer-main strong{font-size:12px}.numbering-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.numbering-grid fieldset{border:1px solid var(--border);border-radius:8px;padding:16px;min-width:0}.numbering-grid legend{font-size:13px;padding:0 6px}.numbering-grid .field{margin-bottom:13px}.weekday-options{display:flex;flex-wrap:wrap;gap:14px}.organization-section{margin-top:24px}#workflow-settings-form>section{margin-bottom:20px}#workflow-settings-form>.btn{margin:2px 0 12px}.leave-conflicts{margin-top:8px;display:flex;flex-wrap:wrap;gap:5px;font-size:11px}.leave-conflicts strong{width:100%;color:#a65e44}.import-results{font-size:12px;line-height:1.8;padding-left:20px}.import-results li{margin-bottom:6px}#bulk-table{margin:20px 0}table select{font:inherit;padding:8px;border:1px solid var(--border);border-radius:6px;max-width:360px;min-width:180px;background:#fff;color:var(--ink)}tr[data-order]{cursor:pointer}tr[data-order]:hover{background:#f9fbf7}tr[data-order]:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.document-results{padding:10px 22px}#mail-result:not(:empty){margin-bottom:18px}.settings-body code{overflow-wrap:anywhere}.map-loading[hidden]{display:none}.map-layout{height:calc(100vh - 330px);min-height:480px}.map-error{max-height:100px}.map-message{z-index:510}.detail-map{height:440px;margin-top:15px}.order-filters .check-label{align-self:end;padding-bottom:10px}.order-title{max-width:360px;color:#667561}.modal-footer .status-badge{white-space:normal}.modal-body .form-error-slot:empty{display:none}
@media(max-width:1100px){.numbering-grid{grid-template-columns:1fr}.numbering-grid fieldset{display:grid;grid-template-columns:2fr 1fr;gap:12px}.numbering-grid fieldset>.check-label,.numbering-grid fieldset>.help{grid-column:1/-1}.map-search-result{align-items:flex-start}.map-search-result .file-actions{max-width:180px}.panel-title{flex-wrap:wrap}.sidebar-note{display:none}}
@media(max-width:760px){.main .panel-title .heading-actions .btn{display:inline-flex}.map-search-result{flex-direction:column;align-items:stretch;gap:10px}.map-search-result .file-actions{max-width:none}.numbering-grid fieldset{display:block}.numbering-grid fieldset>.check-label{margin:10px 0}.map-layout{height:600px;min-height:560px}.map-layer-panel{height:175px}.map-layer-panel .layer-main strong{font-size:11px}.map-search-panel .toolbar{gap:10px}.revision-card>header{flex-wrap:wrap}.revision-card{padding:13px}.detail-grid{gap:17px}.workflow-actions .btn{white-space:normal;text-align:left}.comment-reply{margin-left:10px}.map-search-panel .search{min-width:0}.document-results{padding:8px 16px}.detail-map{height:390px}.file-card .file-actions{gap:5px}.detail-tabs{gap:17px}.table-footer{flex-wrap:wrap}}

/* Settings module landing page introduced in 0.8.3 */
.settings-hub{margin-bottom:20px}.settings-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px;padding:18px}.settings-tile{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--border, #d5e1e5);background:var(--surface, #fff);border-radius:13px;color:inherit;padding:17px 14px;cursor:pointer;min-height:75px;text-decoration:none;font:inherit;transition:background .15s,border-color .15s,transform .15s}.settings-tile:hover,.settings-tile:focus-visible{background:#eef7f7;border-color:#9bc5ca;transform:translateY(-1px)}.settings-tile strong{flex:1;font-size:.92rem}.settings-tile svg{width:20px;height:20px;flex:none}

/* 0.8.4 — per-account, accessible compact navigation. No effect on mobile drawer. */
.sidebar-collapse-toggle{display:inline-grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid var(--border);background:var(--paper);color:var(--green);border-radius:9px;padding:6px}
.sidebar-collapse-toggle:hover:not(:disabled){background:var(--mint);border-color:#adc9bd}
.sidebar-collapse-toggle svg.icon{width:19px;height:19px}
@media(min-width:761px){
  .app-shell{transition:grid-template-columns .18s ease}
  .app-shell.sidebar-collapsed{grid-template-columns:74px minmax(0,1fr)}
  .app-shell.sidebar-hidden{grid-template-columns:minmax(0,1fr)}
  .app-shell.sidebar-hidden .sidebar{display:none}
  .app-shell.sidebar-collapsed .sidebar{padding:22px 9px 16px}
  .app-shell.sidebar-collapsed .sidebar .brand{justify-content:center;padding:2px 0 22px;margin:0}
  .app-shell.sidebar-collapsed .sidebar .brand img{width:36px;height:36px}
  .app-shell.sidebar-collapsed .brand-text,
  .app-shell.sidebar-collapsed .nav-label,
  .app-shell.sidebar-collapsed .nav-button-label,
  .app-shell.sidebar-collapsed .nav-count,
  .app-shell.sidebar-collapsed .sidebar-note,
  .app-shell.sidebar-collapsed .sidebar-user-text{display:none!important}
  .app-shell.sidebar-collapsed .sidebar .nav-list{align-items:stretch;gap:8px;margin-top:0}
  .app-shell.sidebar-collapsed .sidebar .nav-button{justify-content:center;min-height:46px;padding:12px 8px;gap:0;border-radius:10px}
  .app-shell.sidebar-collapsed .sidebar .nav-button svg{width:21px;height:21px}
  .app-shell.sidebar-collapsed .sidebar .sidebar-bottom{margin-top:auto;padding:14px 0 0;flex-direction:column;gap:12px}
  .app-shell.sidebar-collapsed .sidebar .sidebar-bottom .logout{margin:0}
  .app-shell.sidebar-collapsed .sidebar .sidebar-bottom .avatar{flex-shrink:0}
}
@media(max-width:760px){.sidebar-collapse-toggle{display:none}}
@media(prefers-reduced-motion:reduce){.app-shell{transition:none}}
