:root{--bg:#edf1ee;--surface:#fff;--surface-muted:#f6f9f7;--surface-strong:#e4ece6;--text:#0e1c18;--text-secondary:#354a44;--muted:#5d6f69;--border:#ccd6d0;--border-strong:#aabdb5;--primary:#0f6b5c;--primary-mid:#1a8c78;--primary-light:#e2f4ef;--primary-dark:#0a4c40;--primary-shadow:#0f6b5c3d;--danger:#b83330;--danger-dark:#9b2a27;--danger-light:#fef1f1;--danger-shadow:#b8333033;--warning:#c47a00;--warning-light:#fff7e5;--success:#1a7a48;--success-light:#eaf6ef;--focus:#d99820;--shadow-xs:0 1px 2px #0a140f0d;--shadow-sm:0 2px 6px #0a140f12, 0 1px 2px #0a140f0a;--shadow:0 4px 14px #0a140f17, 0 2px 4px #0a140f0d;--shadow-md:0 8px 24px #0a140f1c, 0 3px 8px #0a140f0f;--shadow-lg:0 16px 40px #0a140f21, 0 6px 16px #0a140f12;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--t:.15s ease;--t-slow:.25s ease;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}button,input,select,textarea{font:inherit}button,.button-link,.secondary-button{border-radius:var(--radius);color:#fff;background:var(--primary);letter-spacing:.02em;touch-action:manipulation;cursor:pointer;min-height:48px;transition:background var(--t), box-shadow var(--t), transform var(--t), color var(--t), opacity var(--t);box-shadow:0 2px 8px var(--primary-shadow);border:0;justify-content:center;align-items:center;gap:6px;padding:12px 18px;font-size:.93rem;font-weight:750;text-decoration:none;display:inline-flex}button:hover,.button-link:hover{background:var(--primary-dark);box-shadow:0 4px 14px var(--primary-shadow);transform:translateY(-1px)}button:active,.button-link:active{box-shadow:0 1px 4px var(--primary-shadow);transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none!important;transform:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}input,select,textarea{border:1.5px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);background:var(--surface);transition:border-color var(--t), box-shadow var(--t);padding:13px 14px}input:focus,select:focus,textarea:focus{border-color:var(--primary-mid);box-shadow:0 0 0 3px var(--primary-light);outline:none}textarea{resize:vertical}h1,h2,p,dl,dd{margin:0}h1{letter-spacing:-.03em;font-size:1.85rem;font-weight:860;line-height:1.08}h2{font-size:1.18rem;font-weight:800;line-height:1.22}label{color:var(--text);gap:7px;font-size:.94rem;font-weight:700;display:grid}#root{min-height:100svh}@media (width>=720px){h1{font-size:2.25rem}}.app-shell{width:min(100%,780px);min-height:100svh;margin:0 auto;padding:20px 16px 40px}.home-screen{align-content:start;gap:20px;display:grid}.top-panel{gap:10px;padding:28px 0 6px;display:grid}.brand-logo{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;letter-spacing:-.02em;width:54px;height:54px;box-shadow:0 4px 16px var(--primary-shadow);-webkit-user-select:none;user-select:none;border-radius:16px;justify-content:center;align-items:center;margin-bottom:2px;font-size:1.2rem;font-weight:900;display:flex}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--primary);font-size:.71rem;font-weight:850}.page-header{gap:5px;padding:20px 0 6px;display:grid}.page-header p{color:var(--muted);font-size:.87rem;font-weight:600}.back-link{width:max-content;color:var(--primary-dark);transition:color var(--t);align-items:center;gap:4px;font-size:.84rem;font-weight:800;text-decoration:none;display:inline-flex}.back-link:before{content:"←";font-size:1em}.back-link:hover{color:var(--primary)}.settings-form,.detail-panel,.report-panel,.status-panel,.job-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.settings-form{gap:18px;padding:20px;display:grid}.technician-selector{border:0;gap:9px;min-width:0;margin:0;padding:0;display:grid}.technician-selector legend{color:var(--text-secondary);margin-bottom:3px;font-size:.88rem;font-weight:750}.radio-option{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);cursor:pointer;min-height:50px;transition:border-color var(--t), background var(--t), box-shadow var(--t);align-items:center;gap:12px;padding:12px 16px;display:flex}.radio-option:has(input:checked){border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px #0f6b5c1a}.radio-option input{width:20px;height:20px;accent-color:var(--primary);flex:none}.radio-option span{color:var(--text);font-size:.96rem;font-weight:700}.zone-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.zone-actions button{border-radius:var(--radius-lg);letter-spacing:.02em;min-height:62px;font-size:1rem;font-weight:800}.zone-actions button:first-child{background:linear-gradient(145deg, #117468, var(--primary-dark));box-shadow:0 4px 16px #0f6b5c4d}.zone-actions button:last-child{background:linear-gradient(145deg, #1a8c78, var(--primary));box-shadow:0 4px 16px #1a8c784d}.zone-actions button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0f6b5c57!important}.success-text{color:var(--success);font-size:.91rem;font-weight:750}.help-text{color:var(--muted);font-size:.89rem;font-weight:640;line-height:1.5}.primary-button{width:100%}.secondary-button{color:var(--primary-dark)!important;background:var(--surface-strong)!important;box-shadow:none!important}.secondary-button:hover{color:#fff!important;background:var(--primary-dark)!important;box-shadow:0 4px 12px var(--primary-shadow)!important}.toolbar{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 16px;display:grid}.feedback{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:center;color:var(--muted);padding:16px 20px;font-size:.93rem;font-weight:600}.refresh-text{color:var(--primary-dark);text-align:center;margin:-4px 0 12px;font-size:.87rem;font-weight:800}.error-text{color:var(--danger);background:var(--danger-light);text-align:left;border-color:#b833304d}.info-text{color:var(--primary-dark);background:var(--primary-light);text-align:left;border-color:#0f6b5c40;font-weight:700}@keyframes shimmer{0%{background-position:-500px 0}to{background-position:500px 0}}.skeleton-list{gap:14px;display:grid}.skeleton-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);gap:13px;padding:18px;display:grid}.skeleton-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.skeleton-block{border-radius:var(--radius-sm);background:linear-gradient(90deg,#e2e8e4 25%,#eef2ef 50%,#e2e8e4 75%) 0 0/500px 100%;flex-shrink:0;animation:1.6s ease-in-out infinite shimmer}.skeleton-title{width:52%;height:21px}.skeleton-pill{border-radius:999px;width:78px;height:25px}.skeleton-line{width:82%;height:13px}.skeleton-line--short{width:56%}.skeleton-actions{gap:8px;display:flex}.skeleton-btn{border-radius:var(--radius);flex:1;height:40px}.job-list{gap:20px;display:grid}.job-section{--section-header-bg:var(--primary);--section-soft:#f3f8f5;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid #0000000d;display:grid;overflow:hidden}.job-section--mine{--section-header-bg:#a85412;--section-soft:#fff8f0}.job-section--available{--section-header-bg:var(--primary);--section-soft:#f2faf6}.job-section--others{--section-header-bg:#556270;--section-soft:#f4f5f7}.job-section--completed{--section-header-bg:#1a7845;--section-soft:#edf8f2}.job-section-header{color:#fff;background:var(--section-header-bg);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.job-section-header h2{color:#fff;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:850}.job-section-header span{min-width:28px;color:var(--section-header-bg);text-align:center;background:#ffffffeb;border-radius:999px;padding:3px 9px;font-size:.8rem;font-weight:850}.job-section-list{background:var(--section-soft);gap:10px;padding:12px;display:grid}.job-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);transition:box-shadow var(--t), transform var(--t), border-color var(--t);will-change:transform;gap:14px;padding:16px;display:grid}.job-card:hover{box-shadow:var(--shadow);border-color:var(--border-strong);transform:translateY(-1px)}.card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.card-header h2{color:var(--text);font-size:1.04rem;font-weight:820;line-height:1.3}.card-header-badges{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.badge{text-align:center;white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:.68rem;font-weight:850;line-height:1.2}.badge-followup{color:#163659;background:#c4ddf6}.status-pill{color:#6b4600;text-align:center;letter-spacing:.02em;overflow-wrap:anywhere;background:#fde8a0;border-radius:999px;max-width:130px;padding:5px 10px;font-size:.73rem;font-weight:840;line-height:1.15}.status-pill.low,.status-pill.normal{color:#0d3f24;background:#bce8cf}.status-pill.high,.status-pill.urgent,.status-pill.emergency{color:#fff;background:var(--danger)}.job-fields,.detail-list{gap:10px;display:grid}.job-fields>div,.detail-list>div{gap:2px;display:grid}dt{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.69rem;font-weight:860}dd{overflow-wrap:anywhere;color:var(--text);font-size:.96rem;font-weight:600;line-height:1.45}.card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.card-actions .button-link,.card-actions button{border-radius:var(--radius);min-height:42px;padding:9px 12px;font-size:.87rem}.detail-panel,.report-panel,.status-panel{border-radius:var(--radius-lg);margin-top:12px;padding:18px}.report-form{gap:16px;display:grid}.report-panel{gap:18px;display:grid}.report-panel h2{letter-spacing:-.01em;color:var(--text);font-size:1.02rem;font-weight:860}.report-helper,label small{color:var(--muted);font-size:.86rem;font-weight:580;line-height:1.45}.sync-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);gap:10px;padding:16px;display:grid}.sync-panel p{color:var(--text-secondary);font-size:.92rem;line-height:1.5}.sync-panel button{width:100%}.sync-error{color:var(--danger);font-weight:750}.paragraph-textarea{min-height:140px;line-height:1.55}.detail-actions{gap:10px;margin-top:18px;display:grid}.primary-link{background:var(--primary);box-shadow:0 2px 8px var(--primary-shadow)}.primary-link:hover{background:var(--primary-dark)}.warning-text{min-height:44px;color:var(--muted);align-items:center;font-size:.87rem;font-weight:700;display:flex}.status-panel{gap:16px;display:grid}.status-grid{grid-template-columns:1fr;gap:10px;display:grid}.checkbox-group{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.checkbox-group legend{color:var(--text);margin-bottom:2px;font-size:.93rem;font-weight:750}.checkbox-grid{gap:9px;display:grid}.checkbox-option{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);cursor:pointer;min-height:48px;transition:border-color var(--t), background var(--t);align-items:center;gap:12px;padding:11px 14px;font-size:.93rem;font-weight:700;display:flex}.checkbox-option:has(input:checked){border-color:var(--primary);background:var(--primary-light)}.checkbox-option input{width:20px;height:20px;accent-color:var(--primary);flex:none}.standalone-checkbox{color:var(--text)}.report-actions{grid-template-columns:1fr;gap:10px;display:grid}.danger-button{background:var(--danger)!important;box-shadow:0 2px 8px var(--danger-shadow)!important}.danger-button:hover{background:var(--danger-dark)!important;box-shadow:0 4px 14px var(--danger-shadow)!important}@media (width>=560px){.app-shell{padding:30px 24px 48px}.settings-form,.detail-panel,.report-panel,.sync-panel,.status-panel,.job-card,.job-section-list{padding:22px}.card-actions,.status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-actions,.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-actions{grid-template-columns:repeat(4,minmax(0,1fr))}}
