:root{--ink:#40353f;--ink-soft:#655562;--paper:#faf7f7;--surface:#fffdfd;--surface-soft:#f4edef;--line:#e7dde1;--muted:#837681;--plum:#805a72;--rose:#b9829c;--rose-soft:#f5e7ed;--sage:#e4eee7;--gold:#eadfc7;--blue:#e8eef5;--red:#f7e6e7;--shadow:0 8px 26px rgba(73,47,61,.07);--radius:14px}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font:14px/1.5 Manrope,Arial,sans-serif}button,input,textarea,select{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#4b3c48;color:#fff;padding:28px 16px;display:flex;flex-direction:column;z-index:10}.brand{font:700 19px Manrope,Arial,sans-serif;letter-spacing:-.03em;padding:4px 12px 30px;display:grid;grid-template-columns:25px 1fr;gap:0 8px;align-items:center}.brand-flower{color:#eccfdb;font:20px Arial}.brand small{font:700 9px/1.2 Manrope;letter-spacing:.14em;color:#d9c8d1;grid-column:2}.nav{display:grid;gap:5px}.nav-item{border:0;border-radius:9px;background:transparent;color:#e0d5dc;padding:10px 12px;text-align:left;font:600 13px Manrope;cursor:pointer;transition:background .16s,color .16s}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.14);color:#fff}.sidebar-note{margin-top:auto;color:#e2d5dd;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:13px;font-size:11px;line-height:1.65}.sidebar-note b{color:#fff}main{margin-left:244px;min-height:100vh}.topbar{min-height:96px;background:rgba(255,253,253,.92);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:18px 34px;gap:18px}.topbar h1{font:700 21px Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:2px 0}.eyebrow{margin:0;color:var(--rose);font:800 10px Manrope;letter-spacing:.12em}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--muted);font-size:12px;flex-wrap:wrap}.button{border:1px solid var(--line);border-radius:9px;padding:9px 13px;background:var(--surface);font:700 12px Manrope;cursor:pointer;color:var(--ink);transition:background .15s,border-color .15s}.button:hover,.button.ghost:hover{background:var(--surface-soft);border-color:#d5c3cc}.button.primary{border-color:var(--plum);background:var(--plum);color:#fff}.button.primary:hover{background:#704b63}.button.ghost{background:transparent}.button.compact{padding:6px 10px}.upload input{display:none}.view{display:none;padding:28px 34px}.view.active{display:block}.hero{background:linear-gradient(120deg,#66505f,#8b667a);border-radius:var(--radius);color:#fff;padding:29px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.hero h2{font:700 27px Manrope;margin:3px 0;letter-spacing:-.04em}.hero p:not(.eyebrow){margin:5px 0;color:#f7edf2}.hero .eyebrow{color:#f5d8e5}.score{display:flex;align-items:baseline;gap:3px}.score span{font:800 53px Manrope;letter-spacing:-.07em}.score small{color:#f6e7ee}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:16px 0}.stat,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat{padding:16px}.stat span,.stat small{display:block;color:var(--muted);font-size:11px;font-weight:700}.stat b{display:block;font-size:26px;letter-spacing:-.05em;margin:3px 0}.two-col,.day-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:16px;margin-bottom:16px}.panel{padding:18px}.panel-title,.view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.panel h3,.view-head h2{font:800 16px Manrope;margin:0;letter-spacing:-.02em}.panel-title p,.view-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.link-button,.text-button{border:0;background:transparent;color:var(--plum);padding:0;font:700 12px Manrope;cursor:pointer}.action-list{display:grid;gap:8px}.action{border-left:3px solid #d8c5a8;padding:9px 10px;background:#fcfaf9;border-radius:5px}.action.danger{border-color:#cf8990;background:#fffafa}.action.success{border-color:#8db29a;background:#fbfdfb}.action b,.action span{display:block}.action span{font-size:11px;color:var(--muted);margin-top:2px}.gates{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.gate{border-radius:10px;padding:11px;background:var(--surface-soft);font-size:11px}.gate b{display:block;margin-bottom:6px}.gate.ok{background:var(--sage)}.gate.wait{background:#f7f1e3}.gate.block{background:var(--red)}.filters{display:flex;gap:8px}.filters select,select,input,textarea{border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--surface);font:13px Manrope;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:0;border-color:#c59aae;box-shadow:0 0 0 3px rgba(185,130,156,.13)}.kanban{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;align-items:start;overflow-x:auto;padding-bottom:8px}.column{background:#f2ecef;border:1px solid #e9dfe4;border-radius:12px;min-height:365px;padding:10px;transition:background .14s,box-shadow .14s}.column.drag-over{background:#eee4e9;box-shadow:inset 0 0 0 1.5px rgba(185,130,156,.42)}.column-head{display:flex;justify-content:space-between;align-items:center;padding:4px 3px 11px;font-size:12px;font-weight:800}.column-head span{border-radius:12px;background:rgba(255,255,255,.8);padding:1px 7px;color:var(--muted)}.card-stack{display:grid;gap:9px;min-height:50px}.kanban-card{background:var(--surface);border:1px solid #e6dce2;border-radius:10px;padding:12px;box-shadow:0 3px 9px rgba(65,42,56,.05);cursor:grab;touch-action:none;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;will-change:transform}.kanban-card:hover{transform:translateY(-1px);box-shadow:0 8px 19px rgba(65,42,56,.1);border-color:#d9c0cb}.kanban-card.dragging{opacity:.48;transform:scale(.99);box-shadow:0 0 0 2px rgba(185,130,156,.28)}.drag-ghost{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;opacity:1!important;background:var(--surface)!important;border:1.5px solid #bd8aa1!important;box-shadow:0 18px 42px rgba(65,42,56,.22)!important;cursor:grabbing;transform:translate3d(-1000px,-1000px,0);will-change:transform}.is-dragging{cursor:grabbing!important;user-select:none}.is-dragging *{cursor:grabbing!important}.kanban-card.drop-before{box-shadow:0 -4px 0 #b9829c,0 5px 12px rgba(65,42,56,.08)}.kanban-card.drop-after{box-shadow:0 4px 0 #b9829c,0 5px 12px rgba(65,42,56,.08)}.kanban-card h4{margin:0 0 8px;font-size:13px;line-height:1.38}.meta{display:flex;justify-content:space-between;gap:5px;color:var(--muted);font-size:10px}.badge{font-size:9px;font-weight:800;border-radius:10px;padding:2px 6px}.badge.Must{background:#f6e4e7;color:#9d5260}.badge.Should{background:#f7f0de;color:#926f29}.badge.Could{background:#e8eef5;color:#59718d}.card-note{margin:8px 0 0;color:var(--muted);font-size:11px}.card-actions{display:flex;gap:8px;margin-top:8px}.check-list{display:grid;gap:7px}.check-item{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:9px}.check-item input{margin:3px 0 0}.check-item.done{opacity:.54;text-decoration:line-through}.check-item b,.check-item span{display:block}.check-item span{font-size:11px;color:var(--muted)}.routine ol{padding-left:20px;margin:12px 0 0;display:grid;gap:13px}.routine li{color:#60515c}.routine b{color:var(--plum);display:inline-block;min-width:105px}.governance-tabs{display:flex;gap:8px;margin-bottom:12px}.tab{border:1px solid var(--line);background:var(--surface);padding:8px 12px;border-radius:8px;font:700 12px Manrope;cursor:pointer}.tab.active{background:#5b4b57;color:#fff;border-color:#5b4b57}.log-list{display:grid;gap:9px}.log{display:grid;grid-template-columns:90px 1fr 100px 115px;gap:12px;align-items:start;border-bottom:1px solid var(--line);padding:10px 0}.log:last-child{border:0}.log-id{font:800 11px Manrope;color:var(--plum)}.log b,.log span{display:block}.log span{font-size:11px;color:var(--muted);margin-top:3px}.impact{font-size:10px;font-weight:800;border-radius:10px;padding:3px 7px;width:max-content}.impact.High{background:#f6e4e5;color:#9c5560}.impact.Medium{background:#f7f0dd;color:#8e6e2e}.impact.Low{background:var(--sage);color:#51735d}dialog{border:0;border-radius:15px;width:min(620px,calc(100% - 28px));padding:0;box-shadow:0 22px 60px rgba(50,32,43,.25)}dialog::backdrop{background:rgba(51,37,47,.38)}dialog form{padding:22px;display:grid;gap:13px}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0;font:700 20px Manrope;letter-spacing:-.03em}.icon-button{border:0;background:transparent;font-size:26px;cursor:pointer;color:var(--muted)}label{display:grid;gap:5px;color:#655562;font-size:12px;font-weight:700}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}
@media(max-width:1024px){.sidebar{width:210px}main{margin-left:210px}.view{padding:24px}.topbar{padding:17px 24px}.stat-grid{grid-template-columns:repeat(2,1fr)}.two-col,.day-grid{grid-template-columns:1fr}.gates{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){body{padding:56px 0 66px}.sidebar{position:fixed;inset:0 0 auto 0;width:100%;height:56px;display:flex;flex-direction:row;align-items:center;padding:0 14px;background:#4b3c48;border-bottom:1px solid rgba(255,255,255,.1)}.brand{padding:0;font-size:16px;grid-template-columns:22px auto;gap:0 6px}.brand small,.sidebar-note{display:none}.nav{position:fixed;bottom:0;left:0;right:0;height:66px;padding:7px 6px calc(7px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:3px;background:rgba(75,60,72,.97);border-top:1px solid rgba(255,255,255,.12);z-index:20}.nav-item{font-size:10px;text-align:center;padding:7px 2px;border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item.active{background:rgba(255,255,255,.15)}main{margin:0}.topbar{min-height:0;padding:14px 16px;display:block;background:var(--surface)}.topbar h1{font-size:18px}.top-actions{margin-top:10px;justify-content:flex-start}.top-actions #today-label{width:100%}.view{padding:16px}.hero{padding:22px;align-items:flex-start}.hero h2{font-size:22px}.score span{font-size:42px}.stat-grid{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:13px}.stat b{font-size:23px}.panel{padding:15px}.panel-title,.view-head{display:block}.panel-title .button,.view-head .filters{margin-top:10px}.filters{width:100%;display:grid;grid-template-columns:1fr 1fr}.filters select{min-width:0}.gates{grid-template-columns:1fr 1fr}.kanban{display:grid;grid-template-columns:1fr;overflow:visible;gap:10px}.column{min-height:0;padding:9px}.card-stack{min-height:20px}.kanban-card{padding:12px;min-height:88px}.drag-ghost{max-width:calc(100vw - 28px)!important}.log{grid-template-columns:66px 1fr;gap:9px}.log>div:nth-child(3),.log>div:nth-child(4){grid-column:2}.form-grid{grid-template-columns:1fr}.routine b{min-width:88px}}
@media(max-width:420px){.top-actions .button{flex:1}.hero{display:block}.score{margin-top:12px}.stat-grid{grid-template-columns:1fr 1fr}.gates{grid-template-columns:1fr}.view{padding:13px}.topbar{padding:13px}.nav-item{font-size:9px}.kanban-card h4{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.card-note{white-space:pre-line;line-height:1.5}
.day-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;margin-left:auto}
.timeline-legend{display:flex;gap:18px;padding:12px 18px;margin-bottom:14px;color:var(--muted);font-size:11px;font-weight:700}.timeline-legend span{display:flex;align-items:center;gap:6px}.timeline-legend i{width:10px;height:10px;border-radius:50%;display:block}.legend-plan{background:var(--rose)}.legend-done{background:#8db29a}.legend-risk{background:#ce7e88}.timeline-scroll{overflow-x:auto;padding:18px;margin-bottom:16px}.gantt-grid{min-width:1215px}.gantt-head,.gantt-bars{display:grid;grid-template-columns:repeat(27,1fr);gap:4px}.gantt-head span{text-align:center;color:var(--muted);font:800 9px Manrope}.gantt-bars{margin-top:7px}.gantt-cell{height:42px;border:0;border-radius:7px;background:linear-gradient(135deg,#d9b2c3,#b9829c);color:#fff;font:800 10px Manrope;cursor:pointer;box-shadow:0 3px 8px rgba(96,59,77,.12)}.gantt-cell:hover{filter:brightness(.96);transform:translateY(-1px)}.gantt-cell.done{background:linear-gradient(135deg,#a7c7ad,#7ea88b)}.gantt-cell.risk{background:linear-gradient(135deg,#e3a0a7,#c96e7a)}.timeline-list{display:grid;gap:9px}.timeline-item{display:grid;grid-template-columns:92px 1fr 112px;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--rose);border-radius:12px;padding:13px 15px;box-shadow:var(--shadow)}.timeline-item.done{border-left-color:#8db29a}.timeline-item.risk{border-left-color:#ce7e88}.timeline-week{font:800 15px Manrope;color:var(--plum)}.timeline-week span{display:block;color:var(--muted);font:700 10px Manrope;margin-top:2px}.timeline-item h3{font:800 14px Manrope;margin:0}.timeline-item p{margin:3px 0 0;color:var(--muted);font-size:11px}.timeline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.timeline-status{text-align:right;font:800 11px Manrope;color:var(--rose)}.timeline-status.done{color:#5d8a69}.timeline-status.risk{color:#b95e6b}
@media(max-width:768px){.nav{grid-template-columns:repeat(5,1fr)}.nav-item{font-size:8px}.timeline-legend{gap:10px;padding:11px}.timeline-item{grid-template-columns:64px 1fr;gap:10px}.timeline-status{grid-column:2;text-align:left}.timeline-scroll{padding:14px}}
.check-item .day-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;margin-left:auto}.day-task-open{border:0;background:transparent;padding:0;color:var(--ink);font:800 14px/1.35 Manrope;text-align:left;cursor:pointer}.day-task-open:hover{color:var(--plum);text-decoration:underline}.day-action{border:1px solid transparent;border-radius:8px;padding:6px 9px;font:800 10px Manrope;white-space:nowrap;cursor:pointer;transition:transform .15s,filter .15s}.day-action:hover{transform:translateY(-1px);filter:brightness(.97)}.day-action.board{background:var(--blue);border-color:#d2ddea;color:#536d8b}.day-action.next{background:var(--sage);border-color:#cbdccc;color:#55745d}.day-action.backlog{background:var(--rose-soft);border-color:#ecd5df;color:#926078}.kanban-card.focus-card{border-color:#b9829c;box-shadow:0 0 0 4px rgba(185,130,156,.22),0 12px 28px rgba(65,42,56,.14);transform:translateY(-2px)}.kanban{grid-template-columns:repeat(6,minmax(220px,1fr))}.gantt-grid{min-width:900px}.gantt-head,.gantt-bars{grid-template-columns:repeat(20,1fr)}@media(max-width:768px){.kanban{grid-template-columns:1fr}}
@media(max-width:768px){.check-item .day-actions{grid-column:2;justify-content:flex-start;margin:0}.day-action{padding:6px 8px;font-size:9px}}
.log{cursor:pointer;grid-template-columns:72px minmax(0,1fr) max-content;grid-template-areas:"id content meta" ". actions actions";gap:10px 16px;padding:14px 0}.log:hover{background:#fdfafb;border-radius:8px}.log-id{grid-area:id;padding-top:2px}.log-content{grid-area:content;min-width:0}.log-content b{font-size:14px;line-height:1.35}.log-content span{overflow-wrap:anywhere}.log-meta{grid-area:meta;text-align:right;min-width:110px}.log-meta .impact{margin-left:auto}.log-actions{grid-area:actions;display:flex;gap:12px;align-items:center}.danger-button{color:#b95e6b!important}@media(max-width:1100px){.log{grid-template-columns:66px minmax(0,1fr);grid-template-areas:"id content" ". meta" ". actions"}.log-meta{text-align:left;min-width:0}.log-meta .impact{margin-left:0}.log-actions{justify-content:flex-start}}@media(max-width:768px){.log{gap:8px 10px;padding:12px 0}.log-content b{font-size:13px}.log-meta{display:flex;flex-wrap:wrap;gap:5px 9px;align-items:center}.log-meta span{margin-top:0}.log-actions{gap:10px}}
