:root{--background:#eef2ef;--surface:#fbfaf7;--task-active:#fffefa;--task-done:#dbe3dc;--text:#294038;--muted:#75827d;--accent:#c997a6;--accent-soft:#eedde2;--line:#d9e0dc;--radius:24px;--radius-small:15px;--shadow:0 10px 28px rgba(45,64,56,.08);--button-shadow:0 5px 0 #d8ddd8,0 8px 16px rgba(40,56,49,.12);--press:110ms ease;--font:Inter,ui-rounded,"SF Pro Rounded",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% 4%,var(--accent-soft),transparent 28rem),var(--background);color:var(--text);font-family:var(--font);min-height:100vh}button,input{font:inherit;color:inherit}.app-shell{width:min(100%,720px);margin:auto;padding:max(22px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 4px 18px}.eyebrow{margin:0 0 3px;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:800;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:29px;line-height:1;margin-bottom:0;letter-spacing:-.04em}.icon-button,.close{border:0;border-radius:50%;background:var(--surface);box-shadow:var(--shadow);width:44px;height:44px;font-weight:800}.views{display:flex;gap:8px;overflow:auto;padding:3px 3px 15px}.view{white-space:nowrap;padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800;color:var(--muted);border:1px solid var(--line)}.view.is-active{background:var(--text);color:white;border-color:var(--text)}
.area{margin:10px 0 18px}.area-head{display:flex;align-items:center;gap:8px;padding:0 4px 9px}.area-toggle{border:0;background:none;padding:5px;font-weight:900;transition:transform .2s}.area.is-collapsed .area-toggle{transform:rotate(-90deg)}.area-title{font-size:20px;margin:0;flex:1;letter-spacing:-.02em}.add-project{border:0;background:var(--accent-soft);border-radius:999px;padding:8px 12px;font-weight:800;font-size:11px}
.matrix{background:var(--surface);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.matrix-head,.project-row{display:grid;grid-template-columns:minmax(92px,.72fr) minmax(0,1fr) minmax(0,1fr)}.matrix-head{background:#f3f5f2;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.13em}.matrix-head span,.matrix-cell{padding:11px 8px;border-right:1px solid var(--line)}.matrix-head span:last-child,.matrix-cell:last-child{border-right:0}.project-row{border-top:1px solid var(--line);align-items:stretch}.object-cell{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.project-title{border:0;background:none;padding:0;text-align:left;font-size:13px;font-weight:850;line-height:1.2}.deadline{display:block;font-size:9px;color:var(--muted)}.task-list{display:grid;align-content:start;gap:10px}.task-wrap{position:relative;min-width:0}.task{width:100%;border:1px solid #edf0ec;border-radius:var(--radius-small);padding:11px 8px;background:var(--task-active);box-shadow:var(--button-shadow);font-size:12px;font-weight:750;line-height:1.2;min-height:44px;transition:transform var(--press),box-shadow var(--press),background .16s ease;color:var(--text);touch-action:manipulation}.task:active,.task.is-pressing{transform:translateY(5px);box-shadow:0 0 0 #d8ddd8,0 2px 5px rgba(40,56,49,.1)}.task.is-done{background:var(--task-done);transform:translateY(4px);box-shadow:0 1px 0 #c9d1ca;border-color:#d4dcd5}.today-toggle{position:absolute;right:-4px;top:-6px;width:20px;height:20px;border:1px solid var(--line);border-radius:50%;background:var(--surface);font-size:8px;font-weight:900;color:var(--muted)}.today-toggle.is-selected{background:var(--accent);color:white;border-color:var(--accent)}.matrix-empty{text-align:center;padding:30px 16px}.matrix-empty p,.empty-state p{color:var(--muted);font-size:13px}.empty-column{font-size:12px;color:#a4afaa;padding:8px 0}.empty-state{text-align:center;background:rgba(251,250,247,.65);border:1px dashed #cbd5cf;border-radius:var(--radius);padding:42px 20px}
.primary,.secondary{border:0;border-radius:14px;padding:12px 16px;font-weight:800}.primary{background:var(--text);color:white}.secondary{background:#e8ece9}.empty-state .primary{margin-top:8px}footer{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding:22px 4px 4px}
dialog{width:min(calc(100% - 24px),600px);max-height:calc(100dvh - 28px);border:0;border-radius:28px;background:var(--surface);color:var(--text);box-shadow:0 30px 80px rgba(31,48,40,.28);padding:0}dialog::backdrop{background:rgba(37,50,44,.34);backdrop-filter:blur(5px)}dialog form{padding:22px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{font-size:24px;margin-bottom:20px}.field{display:grid;gap:7px;margin:0 0 15px}.field>span{font-size:12px;font-weight:800}.field>input{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px;background:white;font-size:16px}.template-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice span{display:block;text-align:center;border:1px solid var(--line);border-radius:13px;padding:10px;font-size:12px;font-weight:750}.choice input:checked+span{background:var(--text);color:white;border-color:var(--text)}
.editable-task{display:grid;grid-template-columns:minmax(0,1fr) auto 30px;gap:7px;margin-bottom:10px}.editable-task>input{min-width:0;border:1px solid var(--line);border-radius:12px;padding:10px}.stage-picker{display:flex;gap:3px}.stage-picker label{position:relative}.stage-picker input{position:absolute;opacity:0}.stage-picker span{display:block;padding:10px 7px;border:1px solid var(--line);font-size:9px;font-weight:900}.stage-picker label:first-child span{border-radius:10px 0 0 10px}.stage-picker label:last-child span{border-radius:0 10px 10px 0}.stage-picker input:checked+span{background:var(--text);color:white}.remove-task{border:0;background:#eee9e9;border-radius:10px;font-size:18px}.link-button{border:0;background:none;padding:5px 0;color:#8d5f70;font-weight:850}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.form-error{min-height:17px;color:#a44758;font-size:12px;margin-bottom:0}.template-list{display:grid;gap:9px;margin-bottom:18px}.template-summary{border:1px solid var(--line);border-radius:15px;padding:12px;background:white;text-align:left}.template-summary strong{font-size:14px}.template-summary small{display:block;color:var(--muted);margin-top:4px}
.global-actions{display:flex;gap:8px}.matrix-add{padding:11px 8px;border-top:1px solid var(--line)}
@media(max-width:390px){.matrix-head,.project-row{grid-template-columns:86px minmax(0,1fr) minmax(0,1fr)}.matrix-head span,.matrix-cell{padding:9px 6px}.task{font-size:11px;padding:10px 5px}.editable-task{grid-template-columns:1fr 30px}.editable-task .stage-picker{grid-column:1/-1;grid-row:2}.editable-task .remove-task{grid-column:2;grid-row:1}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.001ms!important}}
