:root{--bg:#f6f8fb;--panel:#fff;--text:#111827;--muted:#667085;--line:#d9e2ec;--brand:#0f766e;--brand-dark:#115e59;--blue:#2563eb;--green:#15803d;--orange:#b45309;--red:#b91c1c;--gray:#64748b}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.screen.center,.login-screen{place-items:center;min-height:100vh;padding:20px;display:grid}.login-panel,.detail-card,.task-card,.welcome-box,.customer-task{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 40px #0f172a14}.login-panel{width:min(100%,420px);padding:24px}.login-panel span,.mobile-header span,.customer-header span{color:var(--brand);font-size:14px;font-weight:700}.login-panel h1,.mobile-header h1,.customer-header h1{margin:6px 0 20px;font-size:28px}form,.task-list{gap:14px;display:grid}label{color:var(--muted);gap:7px;font-weight:700;display:grid}input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--text);background:#fff;border-radius:8px;padding:0 14px}.mobile-shell{width:min(100%,720px);min-height:100vh;margin:0 auto;padding:18px 16px 96px}.mobile-header,.customer-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.welcome-box{gap:4px;margin-bottom:16px;padding:16px;display:grid}.welcome-box span,.task-card p,.customer-task p,.detail-list dt,.detail-list dd{color:var(--muted)}.task-card,.detail-card,.customer-task{padding:16px}.task-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.task-card h3,.detail-card h2,.customer-task h2{margin:0 0 4px;font-size:20px}.task-meta,.inline-actions{flex-wrap:wrap;gap:10px;margin:14px 0;display:flex}.task-meta span,.secondary-button,.primary-button,.success-button,.danger-button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.task-meta span{color:var(--muted)}.primary-button,.success-button,.danger-button,.secondary-button{cursor:pointer;border:0;border-radius:8px;min-height:46px;padding:0 16px;font-weight:800}.primary-button{background:var(--brand);color:#fff}.primary-button:hover{background:var(--brand-dark)}.success-button{background:var(--green);color:#fff}.danger-button{background:var(--red);color:#fff}.secondary-button{color:#1d4ed8;background:#eef4ff}.large{width:100%;min-height:58px;font-size:18px}.status{white-space:nowrap;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.status.green{color:#166534;background:#dcfce7}.status.orange{color:#9a3412;background:#ffedd5}.status.red{color:#991b1b;background:#fee2e2}.status.blue{color:#1e40af;background:#dbeafe}.status.gray{color:#374151;background:#e5e7eb}.detail-list{gap:12px;margin:16px 0;display:grid}.detail-list div{gap:3px;display:grid}.detail-list dt{font-size:13px;font-weight:800}.detail-list dd{margin:0}.action-panel{gap:12px;margin-top:16px;display:grid}.confirm-box{background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;gap:12px;padding:14px;display:grid}.confirm-box.danger{background:#fef2f2;border-color:#fecaca}.feedback,.state-block,.form-error,.offline-banner{border-radius:8px;padding:12px 14px;font-weight:700}.feedback{color:#075985;background:#e0f2fe}.state-block{border:1px dashed var(--line);color:var(--muted);background:#fff}.state-block.error,.form-error{color:var(--red);background:#fef2f2}.offline-banner{color:#9a3412;background:#fff7ed;align-items:center;gap:8px;margin-bottom:12px;display:flex}.bottom-nav{border-top:1px solid var(--line);z-index:20;background:#fff;grid-template-columns:repeat(4,1fr);width:min(100%,720px);padding:8px 8px 10px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{min-height:54px;color:var(--muted);border-radius:8px;place-items:center;gap:3px;font-size:12px;font-weight:800;display:grid}.bottom-nav a.active{color:var(--brand);background:#e7f7f5}.customer-shell{width:min(100%,1100px);min-height:100vh;margin:0 auto;padding:24px 16px}.customer-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}@media (max-width:420px){.mobile-header h1,.customer-header h1{font-size:24px}.inline-actions{display:grid}}
