:root{color:#172033;font-family:Inter,Noto Sans Thai,Segoe UI,system-ui,sans-serif;background:#f4f7f6;font-synthesis:none;text-rendering:optimizeLegibility;--surface: #ffffff;--surface-muted: #edf4f2;--border: #d7e4df;--text: #172033;--muted: #627084;--primary: #0f766e;--primary-strong: #0b5f59;--danger: #b42318;--warning: #b45309;--blue: #2563eb;--shadow: 0 12px 34px rgba(24, 43, 54, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}h1{font-size:26px;letter-spacing:0;line-height:1.18}h2{font-size:18px;letter-spacing:0;line-height:1.28}p,small,dd,span{overflow-wrap:anywhere}.login-screen,.mobile-no-access,.mobile-not-found{display:grid;min-height:100dvh;padding:20px;place-items:center}.login-panel,.mobile-no-access,.mobile-not-found{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 60px #182b361f;display:grid;gap:18px;max-width:420px;padding:22px;width:100%}.login-brand,.mobile-header-brand{align-items:center;display:flex;gap:12px;min-width:0}.login-brand-mark,.mobile-header-mark,.mobile-empty-icon{align-items:center;background:#e8f3f0;border:1px solid #cde2dc;border-radius:14px;color:var(--primary);display:inline-flex;flex:0 0 auto;height:44px;justify-content:center;width:44px}form,.mobile-form,.task-list,.checklist,.alert-list{display:grid;gap:12px}label,.mobile-field{color:#334155;display:grid;font-size:14px;font-weight:850;gap:7px}input,select,textarea{background:#fff;border:1px solid #cbd8d4;border-radius:12px;color:var(--text);min-height:48px;padding:10px 12px;width:100%}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid rgba(37,99,235,.32);outline-offset:2px}textarea{min-height:96px;resize:vertical}button,.mobile-card-action,.mobile-secondary-action{align-items:center;background:var(--primary);border:0;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;font-weight:900;justify-content:center;min-height:48px;padding:11px 14px}button:active,.mobile-card-action:active,.mobile-secondary-action:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.56;transform:none}button.danger{background:var(--danger)}.password-field{display:grid;grid-template-columns:minmax(0,1fr) 48px}.password-field input{border-radius:12px 0 0 12px}.password-field button{background:#eef6f4;border:1px solid #cbd8d4;border-left:0;border-radius:0 12px 12px 0;color:var(--primary);min-height:48px;padding:0}.mobile-secondary-action{background:#e8f3f0;color:var(--primary)}.mobile-login-error,.mobile-error-state{background:#fee4e2;border-radius:12px;color:var(--danger);font-weight:850;padding:12px}.success-box{background:#dcfce7;border-radius:12px;color:#166534;font-weight:900;padding:12px}.mobile-shell{display:grid;grid-template-rows:auto 1fr;min-height:100dvh;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.mobile-header{align-items:center;background:#fffffff5;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;position:sticky;top:0;z-index:5}.mobile-header strong,.mobile-header span{display:block}.mobile-header strong{line-height:1.2}.mobile-header span{color:var(--muted);font-size:13px;font-weight:800}.mobile-header-actions{display:flex;gap:8px}.mobile-header-actions button,.mobile-icon-action{background:#eef6f4;color:var(--primary);min-height:42px;padding:0;width:42px}.mobile-main{align-content:start;display:grid;gap:14px;padding:16px}.mobile-page{align-content:start;display:grid;gap:14px;margin-inline:auto;max-width:680px;width:100%}.page-heading{display:grid;gap:5px}.page-heading.with-action{align-items:start;grid-template-columns:minmax(0,1fr) auto}.page-heading p,.login-panel p{color:var(--muted);font-weight:800;line-height:1.45}.mobile-task-summary{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-task-summary div{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:grid;gap:2px;min-height:66px;padding:10px}.mobile-task-summary span{color:var(--muted);font-size:12px;font-weight:850}.mobile-task-summary strong{color:var(--text);font-size:24px;line-height:1}.mobile-bottom-nav{background:#fffffffa;border-top:1px solid var(--border);bottom:0;display:grid;gap:4px;grid-template-columns:repeat(4,minmax(0,1fr));left:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:10}.mobile-bottom-nav:has(a:nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-bottom-nav a{align-items:center;border-radius:12px;color:var(--muted);display:grid;font-size:11px;font-weight:900;gap:2px;justify-items:center;min-height:54px;padding:5px 2px}.mobile-bottom-nav a.active{background:#e8f3f0;color:var(--primary)}.mobile-task-tabs{align-items:center;display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.mobile-task-tabs::-webkit-scrollbar{display:none}.mobile-task-tabs button{background:var(--surface);border:1px solid var(--border);color:#334155;flex:0 0 auto;min-height:44px;padding:8px 12px;white-space:nowrap}.mobile-task-tabs button small{align-items:center;background:#edf2f7;border-radius:999px;color:#475569;display:inline-flex;font-size:11px;height:22px;justify-content:center;min-width:22px;padding:0 6px}.mobile-task-tabs button.is-active{background:var(--primary);color:#fff}.mobile-task-tabs button.is-active small{background:#ffffff2e;color:#fff}.mobile-task-card,.summary-card,.manager-card,.attachment-box,.mobile-empty-state,.mobile-loading-state{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);display:grid;gap:10px;padding:14px}.mobile-task-card.is-overdue{border-color:#fda4af}.mobile-card-row,.decision-actions{display:flex;flex-wrap:wrap;gap:8px}.card-topline{align-items:center;justify-content:space-between}.mobile-task-title{display:grid;gap:8px}.mobile-task-type,.mobile-status-badge,.mobile-overdue-badge{border-radius:999px;font-size:12px;font-weight:900;padding:6px 9px}.mobile-task-type{background:#e8f3f0;color:var(--primary)}.mobile-status-badge{align-items:center;background:#f1f5f9;color:#475569;display:inline-flex;gap:6px}.mobile-status-badge small{color:inherit;font-size:11px}.mobile-status-badge.is-high,.mobile-overdue-badge{background:#fee2e2;color:#991b1b}.mobile-status-badge.is-low{background:#eff6ff;color:var(--blue)}.mobile-task-card dl{display:grid;gap:8px 10px;grid-template-columns:98px minmax(0,1fr);margin:0}.mobile-task-card dt{align-items:center;color:var(--muted);display:inline-flex;font-size:12px;font-weight:900;gap:5px}.mobile-task-card dd{margin:0}.mobile-empty-state{align-items:center;min-height:128px;text-align:left}.mobile-empty-state p{color:var(--muted);font-weight:750}.check-row{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;min-height:48px;padding:10px}.check-row input{min-height:auto;width:22px}.manager-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.manager-card span{color:var(--muted);font-size:13px;font-weight:850}.manager-card strong{font-size:28px}.alert-list article{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:grid;gap:4px;padding:12px}@media(max-width:380px){h1{font-size:24px}.mobile-main{padding:12px}.manager-grid,.mobile-task-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-task-card dl{grid-template-columns:88px minmax(0,1fr)}}
