:root{--panel: rgba(255, 250, 241, .86);--ink: #2f211a;--muted: #8f7d71;--accent: #c14d2d;--success: #6f8b6d;--shadow: 0 24px 80px rgba(71, 46, 28, .18);--date-width: 78px;--task-control-size: 20px}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Trebuchet MS,Aptos,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(255,255,255,.55),transparent 28%),radial-gradient(circle at bottom right,rgba(193,77,45,.18),transparent 26%),linear-gradient(135deg,#f5ead8,#ebd9bf 42%,#dfc39d);padding:36px 18px}button,input,textarea,select{font:inherit}.shell{max-width:1320px;margin:0 auto}.hero{display:grid;gap:12px;margin-bottom:24px;padding:0 6px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:#2f211aa6;font-weight:700}.hero-row{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}.brand-lockup{display:inline-flex;align-items:center;gap:14px}.brand-icon{width:clamp(56px,8vw,78px);aspect-ratio:1;display:block;flex:0 0 auto}.hero h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.3rem,4vw,4rem);line-height:.95}.hero-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero-chip{display:inline-flex;align-items:center;min-height:48px;padding:0 16px;border-radius:999px;border:1px solid rgba(71,46,28,.08);background:#ffffff80;font-size:.92rem;line-height:1}.assignee-select-chip{position:relative;gap:8px;padding-right:38px}.assignee-select-chip span{white-space:nowrap}.assignee-select-chip select{-webkit-appearance:none;-moz-appearance:none;appearance:none;max-width:180px;min-width:72px;border:0;background:transparent;color:var(--ink);font-weight:700;line-height:1;padding:0;outline:none;cursor:pointer}.assignee-select-chip:after{content:"";position:absolute;top:50%;right:17px;width:7px;height:7px;border-right:2px solid rgba(47,33,26,.58);border-bottom:2px solid rgba(47,33,26,.58);transform:translateY(-65%) rotate(45deg);pointer-events:none}.assignee-select-chip select:disabled{cursor:not-allowed}.window{background:#fff8ed94;border:1px solid rgba(255,255,255,.55);border-radius:32px;box-shadow:var(--shadow);overflow:hidden;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.window-bar{display:flex;align-items:center;gap:16px;padding:16px 22px;background:#5c3e2c14;border-bottom:1px solid rgba(71,46,28,.08)}.dots{display:flex;gap:8px}.dot{width:12px;height:12px;border-radius:999px;background:#2f211a38}.address{padding:11px 16px;border-radius:999px;background:#ffffff8c;color:#2f211aad;font-size:.95rem;border:1px solid rgba(71,46,28,.08)}.board{padding:28px 28px 34px;position:relative}.action-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:2px 0 12px}.create-button,.close-day-button,.send-plans-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:16px;padding:14px 18px;font-weight:700;font-size:.96rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background .12s ease}.create-button{min-width:260px;background:linear-gradient(135deg,#ca5735,#a93f22);color:#fff9f3;box-shadow:0 10px 22px #a93f2233}.close-day-button,.send-plans-button{min-width:210px;background:#472e1c14;color:var(--ink);border:1px solid rgba(71,46,28,.1);box-shadow:0 8px 18px #472e1c14}.create-button:hover:not(:disabled),.close-day-button:hover:not(:disabled),.send-plans-button:hover:not(:disabled),.task-edit-button:hover:not(:disabled),.task-delete-button:hover:not(:disabled),.task-confirm-button:hover:not(:disabled),.task-cancel-button:hover:not(:disabled),.create-task-ok:hover:not(:disabled),.create-task-cancel:hover:not(:disabled),.create-task-clear:hover:not(:disabled),.create-task-assign-button:hover:not(:disabled){filter:brightness(1.02)}.create-button:active:not(:disabled),.close-day-button:active:not(:disabled),.send-plans-button:active:not(:disabled),.task-edit-button:active:not(:disabled),.task-delete-button:active:not(:disabled),.task-confirm-button:active:not(:disabled),.task-cancel-button:active:not(:disabled),.create-task-ok:active:not(:disabled),.create-task-cancel:active:not(:disabled),.create-task-clear:active:not(:disabled),.create-task-assign-button:active:not(:disabled){transform:translateY(1px) scale(.985);box-shadow:inset 0 2px 5px #0000001f}button:disabled{opacity:.55;cursor:not-allowed}.status-banner{display:none;margin-bottom:18px;padding:14px 16px;border-radius:16px;border:1px solid rgba(71,46,28,.08);background:var(--panel)}.status-banner.visible{display:block}.status-banner.error{color:#7a2514;background:#c14d2d1a}.status-banner.warning{color:#7a5314;background:#c5913229}.groups{display:grid;gap:18px}.drop-slot{display:none;margin:0 10px 6px;padding:10px 12px;border-radius:12px;border:1px dashed rgba(71,46,28,.18);color:#2f211a94;font-size:.88rem;background:#ffffff52}.drop-slot.active{display:block}.drop-slot.over{border-color:#c14d2d8c;background:#c14d2d14;color:var(--accent)}.group{background:var(--panel);border:1px solid rgba(71,46,28,.08);border-radius:28px;padding:18px 18px 14px;position:relative;overflow:hidden}.group:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;border-radius:999px;background:linear-gradient(180deg,#c14d2de6,#c14d2d33)}.group.completed:before{background:linear-gradient(180deg,#6f8b6de6,#6f8b6d2e)}.group.future:before{background:linear-gradient(180deg,#472e1c5c,#472e1c1a)}.group-header{padding:2px 0 10px 10px}.group-header h2{margin:0;font-size:1.05rem;letter-spacing:.02em}.tasks{display:grid;gap:0}.tasks.empty-drop-target{min-height:52px;border-radius:16px;border:1px dashed transparent}.tasks.empty-drop-target.over{border-color:#c14d2d6b;background:#c14d2d0f}.empty-state{padding:12px 10px 8px;color:var(--muted)}.task{display:grid;grid-template-columns:var(--date-width) var(--task-control-size) minmax(0,1fr) auto auto var(--task-control-size);align-items:center;gap:12px;min-height:calc(var(--task-control-size) + 4px);padding:2px 10px;border-radius:14px;border:1px solid transparent;background:transparent}.task.sortable-row{cursor:grab;touch-action:none}.task.sortable-row:active{cursor:grabbing}.task:hover{background:#ffffff7a;border-color:#472e1c12}.task.dragging{opacity:.92;background:#fff8edf5;border-color:#c14d2d2e;box-shadow:0 14px 28px #472e1c1f;z-index:2}.task.completed,.task.completed .task-title{color:#8f8a85}.task.due .task-title{font-weight:800}.task.done-in-due{color:#8f8a85}.task.done-in-due .task-title{font-weight:600}.task.completed .task-description-text,.task.done-in-due .task-description-text{text-decoration:line-through}.date{grid-column:1;font-variant-numeric:tabular-nums;font-weight:700;color:#2f211ab3;letter-spacing:.03em}.task-marker,.task-body{min-width:0}.task-marker,.due-check{grid-column:2}.task-body{grid-column:3;min-width:0}.task-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.98rem;line-height:1.18}.task-description-text{min-width:0}.task-schedule-tag,.task-source-tag{display:inline-flex;align-items:center;min-height:18px;padding:3px 8px;border-radius:999px;font-size:.68rem;font-weight:800;line-height:1;white-space:nowrap}.task-schedule-tag{background:#472e1c14;border:1px solid rgba(71,46,28,.07);color:#2f211a9e}.task-source-tag{background:#dbeafe;color:#1d4ed8}.due-check{display:inline-grid;place-items:center;width:var(--task-control-size);height:var(--task-control-size);justify-self:center}.task-marker{width:var(--task-control-size);height:var(--task-control-size)}.due-check input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin:0;border-radius:6px;border:1.5px solid rgba(71,46,28,.26);background:#ffffffc7;display:grid;place-items:center;cursor:pointer}.due-check input:after{content:"";width:8px;height:4px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg);margin-top:-1px;opacity:0}.due-check input:checked{background:var(--success);border-color:var(--success)}.due-check input:checked:after{opacity:1}.task-flags{grid-column:4;display:flex;gap:6px;justify-self:end;align-items:center;white-space:nowrap;min-height:1px}.task-actions{grid-column:5;display:flex;gap:8px;justify-self:end;align-items:center;flex-wrap:wrap}.task-edit-button,.task-delete-button,.task-confirm-button,.task-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;padding:5px 11px;font-size:.76rem;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 6px 14px #472e1c14;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background .12s ease}.task-edit-button,.task-cancel-button{border:1px solid rgba(71,46,28,.14);background:#ffffffad;color:var(--ink)}.task-delete-button{border:1px solid rgba(193,77,45,.2);background:#c14d2d1a;color:#9a381d}.task-confirm-button{border:1px solid transparent;background:linear-gradient(135deg,#ca5735,#a93f22);color:#fff9f3}.tag{padding:4px 9px;border-radius:999px;background:#472e1c0f;color:#2f211ab8;font-size:.72rem;font-weight:700;line-height:1;letter-spacing:.02em;text-transform:uppercase}.tag.priority{background:#c14d2d24;color:#9a381d}.tag.importance{background:#c5913233;color:#885d0c}.drag{grid-column:6;width:var(--task-control-size);height:var(--task-control-size);border-radius:10px;border:1px solid rgba(71,46,28,.1);display:grid;place-items:center;color:#2f211a73;background:#ffffff85;justify-self:end;-webkit-user-select:none;user-select:none}.drag:before{content:"⋮⋮";line-height:1;letter-spacing:-.18em;transform:translate(-2px)}.saving-scrim{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#25171157;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20}.create-task-modal{width:min(100%,520px);background:#fff8edf5;border:1px solid rgba(255,255,255,.7);border-radius:28px;box-shadow:0 32px 80px #2918103d;padding:26px 26px 28px}.create-task-header{display:grid;gap:8px;margin-bottom:18px}.create-task-header h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,3vw,2.4rem);line-height:.96}.create-task-header p{margin:0;color:#2f211ab8}.create-task-field{display:grid;gap:10px}.create-task-due-date-field{margin-top:14px}.create-task-schedule-field{margin-top:16px}.create-task-field span{font-size:.84rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#2f211aa3}.create-task-field input{width:100%;border:1px solid rgba(71,46,28,.14);border-radius:18px;background:#ffffffd6;padding:15px 18px;color:var(--ink);outline:none;box-shadow:inset 0 1px #ffffffa6}.create-task-field input:focus{border-color:#c14d2d9e;box-shadow:0 0 0 4px #c14d2d24,inset 0 1px #ffffffb3}.create-task-field input[aria-invalid=true]{border-color:#c14d2db8}.create-task-error{margin-top:8px;color:#9a381d;font-size:.92rem;line-height:1.3}.create-task-date-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);align-items:center;gap:10px}.create-task-date-input{width:100%;min-width:0;padding:12px 14px}.create-task-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:14px;padding:11px 14px;font-weight:700;background:#472e1c14;color:var(--ink);border:1px solid rgba(71,46,28,.1);cursor:pointer;box-shadow:0 8px 18px #472e1c14;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background .12s ease}.create-task-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;flex-wrap:wrap}.create-task-primary-actions,.create-task-assign{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.create-task-assign{position:relative;margin-right:auto}.create-task-assign-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:14px;padding:12px 14px;max-width:260px;font-weight:700;border:1px solid rgba(71,46,28,.1);background:#472e1c14;color:var(--ink);cursor:pointer;box-shadow:0 8px 18px #472e1c14;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background .12s ease}.create-task-assign-button:after{content:"";display:inline-block;width:7px;height:7px;margin-left:10px;border-right:2px solid rgba(47,33,26,.58);border-bottom:2px solid rgba(47,33,26,.58);transform:translateY(-2px) rotate(45deg)}.create-task-assign-menu{position:absolute;left:0;bottom:calc(100% + 8px);z-index:30;display:grid;min-width:210px;max-width:min(320px,78vw);padding:6px;border:1px solid rgba(71,46,28,.14);border-radius:14px;background:#fff8edfa;box-shadow:0 18px 42px #29181033}.create-task-assign-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;border:0;border-radius:10px;background:transparent;color:var(--ink);padding:10px 12px;font-weight:700;text-align:left;cursor:pointer}.create-task-assign-option:hover,.create-task-assign-option[aria-selected=true]{background:#c14d2d1a}.create-task-assign-option span{color:#2f211a8f;font-size:.82rem;font-weight:700}.create-task-ok,.create-task-cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:14px;padding:12px 18px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background .12s ease}.create-task-ok{background:linear-gradient(135deg,#ca5735,#a93f22);color:#fff9f3;box-shadow:0 10px 22px #a93f2233}.create-task-ok:disabled,.create-task-clear:disabled{opacity:.55;cursor:not-allowed}.create-task-cancel{background:#472e1c14;color:var(--ink);border-color:#472e1c1a;box-shadow:0 8px 18px #472e1c14}@media (max-width: 720px){body{padding:20px 12px}.board,.window-bar{padding-left:16px;padding-right:16px}.task{grid-template-columns:1fr;gap:8px}.date,.task-marker,.due-check,.task-body,.task-flags,.task-actions,.task-edit-button,.drag{grid-column:auto}.drag,.task-flags,.task-actions{justify-self:start}.create-task-modal{padding:22px 18px 20px}.create-task-actions{justify-content:stretch}.create-task-primary-actions,.create-task-assign{width:100%}.create-task-assign-button{width:100%;max-width:none}.create-task-assign-menu{width:100%}.create-task-ok,.create-task-cancel,.create-task-clear{flex:1 1 150px}}
