:root{--bg:#f6f4ef;--surface:#fdfcf9;--ink:#24231f;--muted:#77736a;--line:rgba(36,35,31,.11);--accent:#b44a2a;--accent-dark:#93391f;--soft:#eeeae1;--danger:#a2352b;font-family:Inter,"Yu Gothic UI",Meiryo,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.brand-mark{margin:0 0 4px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.16em}.muted{color:var(--muted)}.login-view{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--surface)}.login-panel{width:min(100%,340px)}.login-panel h1{font-size:28px;margin:0 0 8px}.login-panel .muted{margin:0 0 32px}.login-panel label,.task-form label{display:block;margin:0 0 7px;font-size:13px;font-weight:650}.login-panel input,.task-form input,.task-form textarea,.task-form select,.module-head input{width:100%;border:0;border-radius:8px;background:var(--surface);box-shadow:0 0 0 1px var(--line),0 1px 2px rgba(0,0,0,.04);padding:10px 11px;color:var(--ink);outline:none}.login-panel input:focus,.task-form input:focus,.task-form textarea:focus,.task-form select:focus,.module-head input:focus{outline:2px solid #d76842;outline-offset:-1px}.login-panel .button{width:100%;margin-top:12px}.form-error{min-height:20px;margin:8px 0 0;color:var(--danger);font-size:13px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,56px);border-bottom:1px solid var(--line);background:rgba(253,252,249,.94);position:sticky;top:0;z-index:5}.topbar h1{margin:0;font-size:20px}.topbar-actions{display:flex;gap:12px;align-items:center}.topbar-actions span{font-size:12px;color:var(--muted)}.workspace{max-width:1240px;margin:auto;padding:32px clamp(18px,4vw,56px) 64px}.summary{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:30px}.summary div{padding:0 24px;border-left:1px solid var(--line)}.summary div:first-child{padding-left:0;border:0}.summary span{display:block;color:var(--muted);font-size:12px}.summary strong{display:block;margin-top:5px;font-size:28px}.toolbar,.module-head,.dialog-head{display:flex;align-items:center}.toolbar{justify-content:space-between;margin-bottom:16px}.filters{display:flex;gap:4px;background:var(--soft);padding:3px;border-radius:9px}.filter{border:0;background:transparent;color:var(--muted);padding:7px 11px;border-radius:7px;font-size:13px}.filter.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0001}.button{min-height:34px;border:0;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:650}.primary{color:#fff;background:var(--accent)}.primary:hover{background:var(--accent-dark)}.secondary{background:var(--soft)}.ghost{background:transparent;color:var(--muted)}.danger{color:var(--danger);background:#f4e8e5}.task-module{background:var(--surface);border-radius:10px;box-shadow:0 0 0 1px var(--line),0 2px 5px #00000009;overflow:hidden}.module-head{gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.module-head h2{font-size:16px;margin:0 auto 0 0}.module-head input{max-width:270px;padding:8px 10px;font-size:13px}.table-wrap{overflow-x:auto;white-space:nowrap}table{width:100%;border-collapse:collapse;text-align:left}th{padding:10px 16px;color:var(--muted);font-size:11px;white-space:nowrap}td{padding:13px 16px;border-top:1px solid var(--line);font-size:13px;vertical-align:top}td:nth-child(2){white-space:normal;min-width:260px}.task-title,.status-button,.edit-button{border:0;background:transparent}.task-title{padding:0;color:var(--ink);font-weight:680}.task-title:hover{text-decoration:underline}td p{margin:4px 0 0;color:var(--muted);font-size:12px;max-width:520px}.status-button,.edit-button{padding:4px 7px;border-radius:6px;font-size:12px}.status-open{color:#725e24;background:#f4efd8}.status-doing{color:#2b6083;background:#e5eff4}.status-done{color:#47705a;background:#e6f0e9}.priority,.edit-button{font-size:12px}.priority-high{color:var(--danger)}.priority-medium{color:#725e24}.priority-low{color:var(--muted)}.edit-button{color:var(--accent)}.state-message{padding:52px;text-align:center;color:var(--muted)}.state-message.error{color:var(--danger)}dialog{width:min(620px,calc(100% - 24px));border:0;border-radius:12px;padding:0;background:var(--surface);color:var(--ink);box-shadow:0 20px 70px #0004}dialog::backdrop{background:#1917136b}.task-form{padding:22px}.dialog-head{justify-content:space-between;margin-bottom:22px}.dialog-head h2{margin:0;font-size:19px}.icon-button{width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:22px}.task-form>input,.task-form>textarea{margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dialog-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;margin-top:24px}
@media(max-width:700px){.topbar{height:64px}.topbar-actions span{display:none}.workspace{padding-top:22px}.summary div{padding:0 14px}.summary strong{font-size:24px}.toolbar{align-items:stretch;gap:12px;flex-direction:column}.toolbar>.button{width:100%;min-height:44px}.filters{display:grid;grid-template-columns:repeat(3,1fr)}.filter{min-height:42px;font-size:14px}.module-head{align-items:stretch;flex-direction:column}.module-head input{max-width:none;font-size:16px}.form-grid{grid-template-columns:1fr}.task-form input,.task-form textarea,.task-form select{font-size:16px}.dialog-actions{grid-template-columns:1fr 1fr}.dialog-actions span{display:none}.dialog-actions .danger{grid-column:1/-1;order:3}.button{min-height:44px;font-size:14px}}
