:root{--ink:#191814;--sidebar:#171611;--paper:#f7f6f2;--surface:#fff;--muted:#827f77;--line:#e9e7e0;--yellow:#ffbd3b;--pink:#f58aa0;--orange:#f29958;--green:#247653;--shadow:0 12px 40px rgba(33,29,17,.045);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}input,select,textarea{max-width:100%;border:1px solid #dedcd6;border-radius:9px;padding:12px 13px;background:#fff;color:#25231f;outline:0}input:focus,select:focus,textarea:focus{border-color:#cb9264;box-shadow:0 0 0 3px rgba(255,189,59,.14)}textarea{resize:vertical;line-height:1.5}label{display:flex;flex-direction:column;gap:8px;color:#3f3c34;font-size:.85rem;font-weight:650}label small{font-weight:400;line-height:1.5}.layout{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{background:var(--sidebar);color:#f7f4ed;padding:34px 17px 20px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 12px 43px}.brand-mark,.login-logo{font-weight:900;font-family:Georgia,serif;font-size:42px;line-height:1;letter-spacing:-5px;background:linear-gradient(135deg,var(--pink),var(--yellow));-webkit-background-clip:text;background-clip:text;color:transparent}.brand strong{font-weight:800;letter-spacing:-.7px;font-size:1.17rem;display:block}.brand small{font-size:.57rem;letter-spacing:1.35px;color:#aaa69a;white-space:nowrap}.nav-group{font-size:.59rem;font-weight:800;letter-spacing:2px;color:#767265;padding:0 15px;margin:9px 0 13px}.navlink{display:flex;align-items:center;gap:13px;color:#bcb8ad;border:0;background:none;border-radius:10px;padding:14px 15px;font-size:.86rem;font-weight:600;text-align:left;width:100%;transition:.18s}.navlink:hover{background:#2f2d26;color:#fff}.navlink span{flex:1}.sidebar-bottom{margin-top:auto;padding-top:28px}.userchip{border-top:1px solid #39362c;display:flex;align-items:center;gap:10px;padding:23px 10px 10px}.avatar{background:linear-gradient(130deg,#f487a4,#f6c256);color:#21170f;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:850}.usernameline{display:grid;gap:3px;min-width:0}.usernameline strong{font-size:.8rem;overflow:hidden;text-overflow:ellipsis}.usernameline small{color:#9e9a8b;font-size:.68rem}.main{min-width:0;display:flex;flex-direction:column;min-height:100vh}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 42px;background:rgba(255,255,255,.57)}.eyebrow,.kicker{font-weight:800;font-size:.65rem;letter-spacing:1.65px;color:#928576}.accent-dot{color:#efa950;padding:0 9px}.top-right{font-size:.61rem;color:#99958e;letter-spacing:1.1px;font-weight:750}.content{width:100%;max-width:1690px;margin:0 auto;padding:38px 42px 65px;flex:1}.footer{padding:22px 42px;font-size:.68rem;color:#a4a097;border-top:1px solid var(--line)}.footer span{color:var(--pink);padding:0 6px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:28px}.page-heading h1,h1{font-size:clamp(1.85rem,3.2vw,3rem);line-height:1.11;letter-spacing:-1.8px;font-weight:800;margin:9px 0 10px}.page-heading h1 em,h1 em{font-style:normal;background:linear-gradient(105deg,#e49077,#efa91f);-webkit-background-clip:text;background-clip:text;color:transparent}.muted{color:var(--muted)}.small{font-size:.76rem}.page-heading .muted{margin:0;font-size:.86rem}.heading-actions,.inlineform,.toolbar,.filterbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{border:1px solid transparent;padding:11px 18px;border-radius:9px;font-size:.8rem;font-weight:800;line-height:1.35;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:normal;text-align:center;transition:transform .15s,background .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:#191814;color:#fff}.btn.primary:hover{background:#3a3028}.btn.dark{background:#2e2a22;color:#fff}.btn.outline{background:#fff;color:#29261e;border-color:#dfdcd5}.btn.gradient{background:linear-gradient(115deg,#f5a2ae,#ffcb61);color:#292016}.btn.wide{width:100%}.textlink{color:#a76c3d;font-size:.8rem;font-weight:800}.textlink:hover{text-decoration:underline}.messages{display:grid;gap:8px;margin-bottom:19px}.alert{background:#f4e8d2;border:1px solid #ead09b;border-radius:9px;padding:13px 16px;font-size:.85rem;line-height:1.5}.alert.error{background:#fff0ed;border-color:#f2d1cb;color:#8b372d}.alert.success{background:#e9f5e9;border-color:#d0e6cf;color:#21593d}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:32px 0 26px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.stat span,.kicker{font-size:.63rem;letter-spacing:1.2px;font-weight:850;color:#b08353}.stat strong{font-size:2.45rem;line-height:1;letter-spacing:-2px}.stat small{color:var(--muted);font-size:.73rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:26px;box-shadow:var(--shadow);min-width:0}.narrow{max-width:730px}.panel h2,.section-head h2{font-size:1.24rem;letter-spacing:-.5px;margin:5px 0 0}.panel h3{font-size:.92rem;margin:20px 0 12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.section-head .kicker{margin:0}.listrow{min-width:0;display:flex;align-items:center;gap:12px;padding:13px 1px;border-top:1px solid #f0eee9}.listrow:hover .rowbody strong{color:#b47945}.rowicon{width:40px;height:40px;flex:0 0 40px;border-radius:10px;background:#fff4d7;display:grid;place-items:center;color:#a27627;font-size:.82rem;font-weight:800}.clienticon{background:#fae7e6;color:#bd617d}.rowbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.rowbody strong{font-size:.83rem;line-height:1.4}.rowbody small{color:var(--muted);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrow{color:#b6afa3;font-size:1.1rem}.status{display:inline-block;border-radius:30px;background:#f0eee9;color:#655e52;font-size:.63rem;letter-spacing:.15px;font-weight:800;padding:7px 11px;white-space:nowrap}.status.large{font-size:.72rem;padding:10px 14px}.status.approved,.status.success{background:#def1e5;color:#266845}.status.submitted,.status.pending,.status.review{background:#fff0ca;color:#9a6600}.status.changes{background:#ffe7e0;color:#ad5a3c}.status.draft,.status.planned{background:#eceaf4;color:#71668d}.status.writing{background:#e5f1fb;color:#396a97}.status.design{background:#f5e8fa;color:#82578b}.bottom-btn{margin-top:20px}.empty{color:#969188;text-align:center;padding:27px 10px;line-height:1.6;font-size:.85rem}.empty.mini{text-align:left;padding:13px 0}.formstack{display:grid;gap:20px}.formstack label{width:100%}.two-input{display:grid;grid-template-columns:1fr 1fr;gap:15px}.formstack .btn{justify-self:start}.formstack .btn.wide{justify-self:stretch}.formstack>small{line-height:1.55;color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.sharebar{border:1px solid #eadbc0;background:#fff8eb;border-radius:12px;padding:15px 20px;display:flex;align-items:center;gap:16px;margin:21px 0}.sharebar>div{min-width:170px}.sharebar strong{font-size:.8rem;display:block}.sharebar small{font-size:.7rem;color:#938577;display:block;margin-top:5px;line-height:1.5}.sharebar input{flex:1;min-width:160px;background:#fff;padding:10px;color:#666056}.feedback-banner{background:#fff5e4;border-left:3px solid #efae48;padding:15px 18px;border-radius:6px;margin:14px 0;color:#605040;font-size:.84rem;line-height:1.55}.feedback-banner p{margin:7px 0 0;overflow-wrap:anywhere}.toolbar,.filterbar{border:1px solid var(--line);background:#fff;border-radius:12px;padding:15px 17px;margin-bottom:18px;justify-content:space-between}.toolbar strong{font-size:.83rem}.toolbar select,.filterbar select{padding:8px 11px;font-size:.8rem}.ai-icon{background:linear-gradient(135deg,#ffbed3,#ffcb61);color:#4f302b;border-radius:9px;display:grid;place-items:center;width:34px;height:34px;font-size:1.4rem;flex:0 0 34px}.calendar-panel{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.calendar-top{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px}.calendar-top h2{margin:6px 0 0;font-size:1.55rem;letter-spacing:-.9px}.calendar-top h2 span{color:#9b978f;font-weight:400}.legend{display:flex;gap:17px;color:#8d897f;font-size:.72rem;align-items:center}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:100%;margin-right:6px}.topic-dot{background:#edb558}.review-dot{background:#d9a0ae}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line)}.weekday{padding:12px 7px;border-bottom:1px solid var(--line);text-align:center;font-size:.6rem;letter-spacing:1px;font-weight:800;color:#a19b91}.cal-day{min-height:126px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;min-width:0}.cal-day:nth-child(7n){border-right:0}.cal-day.outside{background:#faf9f6;color:#c9c6be}.daytop{display:flex;align-items:center;justify-content:space-between;min-height:26px}.daynumber{font-size:.78rem;font-weight:780;padding:3px}.dayadd{border:0;background:#fdf0d0;color:#805f23;border-radius:7px;width:25px;height:25px;font-weight:900;font-size:1rem;opacity:0}.cal-day:hover .dayadd,.dayadd:focus-visible{opacity:1}.event{display:flex;align-items:start;gap:6px;border-left:2px solid #f0ac50;background:#fff6e5;border-radius:4px;font-size:.65rem;line-height:1.35;padding:5px 6px;margin:5px 0;color:#76552b;word-break:break-word;overflow:hidden}.event span:last-child{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.eventdot{background:#e0a34f;border-radius:100%;flex:0 0 4px;height:4px;margin-top:5px}.topic-list{margin-top:20px}.topic-detail{border-top:1px solid var(--line)}.topic-detail summary{display:flex;gap:13px;align-items:center;list-style:none;padding:14px 1px;cursor:pointer}.topic-detail summary::-webkit-details-marker{display:none}.topic-detail .arrow{margin-left:auto}.topic-expanded{padding:10px 8px 25px 67px;font-size:.88rem;line-height:1.65;overflow-wrap:anywhere}.topic-expanded>p{color:#605e56}.datepill{background:#f7eee2;color:#966c40;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:11px;font-size:.72rem;font-weight:800;min-width:53px;white-space:nowrap}.attachment{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:800;padding:9px 12px;border-radius:8px;margin:5px 6px 5px 0;background:#f4f2ee;color:#665b47;overflow-wrap:anywhere}.attachment:hover{background:#efe5d4}.topicedit{padding:18px;background:#f9f8f4;border-radius:10px;margin-top:12px}.modal{border:0;border-radius:16px;box-shadow:0 25px 100px #17110b55;width:min(590px,calc(100% - 30px));padding:29px;max-height:92vh;overflow-y:auto}.modal::backdrop{background:#1a1815aa}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.modal-head h2{margin:0}.iconbtn{border:0;background:#f4f2ed;border-radius:9px;width:35px;height:35px;font-size:1.5rem}.client-instructions{display:flex;align-items:start;gap:13px;background:#fff6e9;border:1px solid #eee2ca;border-radius:13px;padding:20px;margin-bottom:24px}.client-instructions strong{font-size:.9rem}.client-instructions p{color:#766d5c;font-size:.82rem;margin:6px 0 0;line-height:1.55}.client-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-bottom:22px}.review-topic{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;box-shadow:var(--shadow);min-width:0}.review-topic-head{display:flex;justify-content:space-between;align-items:center}.tag{font-size:.62rem;font-weight:850;color:#bd8a5e;letter-spacing:1px}.review-topic h2{font-size:1.2rem;margin:15px 0 9px}.review-topic p{color:#68645c;font-size:.85rem;line-height:1.65;overflow-wrap:anywhere}.review-topic label{margin-top:20px}.review-topic textarea{font-weight:400}.review-action{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:start}.review-action .muted{line-height:1.6;font-size:.85rem}.review-fields{display:grid;gap:15px}.approval-actions{display:flex;justify-content:end;gap:10px;flex-wrap:wrap}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(245px,1fr);gap:12px;overflow-x:auto;align-items:start;padding:0 0 30px}.kanban-column{background:#eeece6;border:1px solid #e9e6dd;border-radius:14px;padding:13px;min-height:420px}.column-head{display:flex;align-items:center;gap:9px;margin:5px 2px 16px}.column-head h2{font-size:.8rem;white-space:nowrap;margin:0;flex:1}.column-color{border-radius:4px;width:9px;height:9px;background:#bdb8ad}.col-writing{background:#6ca6c6}.col-design{background:#af8bc4}.col-review{background:#f0b652}.col-changes{background:#eb957c}.col-approved{background:#56a17a}.counter{font-weight:800;font-size:.7rem;background:white;border-radius:7px;padding:5px 8px}.column-cards{display:grid;gap:10px}.kanban-card{background:white;border-radius:10px;border:1px solid #e6e3db;box-shadow:0 5px 16px #21160a0a;overflow:hidden}.card-open{display:block;padding:17px}.card-client{font-size:.62rem;color:#b28253;text-transform:uppercase;font-weight:800;letter-spacing:1px}.kanban-card h3{font-size:.86rem;line-height:1.45;margin:10px 0 8px}.kanban-card p{font-size:.73rem;line-height:1.5;color:#8b877e;margin:0 0 20px}.card-meta{display:flex;justify-content:space-between;gap:6px;font-size:.67rem;color:#99958f}.moveform{border-top:1px solid var(--line);padding:9px}.moveform select{width:100%;font-size:.7rem;padding:8px}.column-empty{padding:30px 10px;color:#aaa59a;font-size:.74rem;text-align:center;border:1px dashed #d5d0c7;border-radius:9px}.approvedmark{display:block;background:#e8f5e9;font-weight:800;color:#348053;padding:12px;font-size:.7rem}.card-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.card-primary{display:grid;gap:18px}.bodycopy{font-size:.88rem;line-height:1.75;color:#605c54;overflow-wrap:anywhere}.ai-button-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.checkline{display:flex;flex-direction:row;align-items:center;gap:5px;font-size:.72rem;color:#82796d;white-space:nowrap}.checkline input{width:16px;height:16px}.task-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.task-toggle{width:22px;height:22px;border:1px solid #d5cfc1;background:white;color:#fff;border-radius:6px;padding:0;font-size:.7rem}.task-toggle.done{background:var(--green);border-color:var(--green)}.task-name{flex:1;font-size:.83rem}.task-name.completed{text-decoration:line-through;color:#a4a097}.task-add{margin-top:20px}.task-add input{flex:1;min-width:160px}.task-add select{max-width:170px}.delivery-history{border-top:1px solid var(--line);margin-top:25px}.delivery-row{padding:15px 0;border-top:1px solid var(--line)}.delivery-row>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.delivery-row small,.history-item small{font-size:.7rem;color:var(--muted)}.delivery-row p{font-size:.8rem;color:#797267;line-height:1.6}.comment{border-top:1px solid var(--line);padding:15px 0}.comment-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.78rem}.comment-head small{font-size:.68rem;color:var(--muted)}.comment p{color:#6e6960;line-height:1.65;font-size:.8rem;margin:8px 0 0;overflow-wrap:anywhere}.stickypanel{position:sticky;top:16px}.stickypanel p{font-size:.8rem;line-height:1.6}.review-layout{grid-template-columns:1.3fr 1fr}.delivery-preview{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:25px 0;padding:23px;border:1px dashed #ded4be;border-radius:13px;background:#fffbf2}.delivery-preview strong{overflow-wrap:anywhere;flex:1}.preview-icon{font-size:1.7rem;color:#b68740}.caption-preview{border:1px solid var(--line);padding:17px;border-radius:9px;line-height:1.7;color:#59544c;font-size:.86rem}.history-item{padding:12px 0;border-top:1px solid var(--line);display:grid;gap:6px}.history-item p{font-size:.76rem;color:#777}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.login-bg{background:#171611;min-height:100vh;display:grid;place-items:center;padding:35px}.login-shell{display:grid;grid-template-columns:1fr .85fr;max-width:1060px;min-height:580px;width:100%;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 90px #0004}.login-intro{background:radial-gradient(circle at 20% 15%,#4b3727,transparent 50%),#191711;color:white;padding:65px 57px;display:flex;flex-direction:column}.login-logo{font-size:66px;align-self:start}.login-intro .eyebrow{margin-top:65px}.login-intro h1{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.13;letter-spacing:-2.5px;margin:17px 0}.login-intro p{color:#c9c1b1;line-height:1.65;font-size:.94rem}.login-intro .eyebrow,.login-foot{color:#cfad77;font-size:.65rem;letter-spacing:1.5px;font-weight:800}.login-foot{margin-top:auto}.login-panel{padding:70px 60px;display:flex;flex-direction:column;justify-content:center}.login-panel h2{font-size:2rem;letter-spacing:-1px;margin:13px 0 7px}.login-panel>p{color:#817c74;font-size:.86rem;line-height:1.55;margin:0 0 32px}.login-panel form{display:grid;gap:22px}.login-panel>small{color:#928c81;font-size:.7rem;line-height:1.5;margin-top:29px}
@media(max-width:1120px){.layout{grid-template-columns:205px minmax(0,1fr)}.content{padding:32px 24px 55px}.topbar{padding:0 24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.card-layout{grid-template-columns:minmax(0,1fr)}.stickypanel{position:static}.kanban{grid-auto-columns:260px}}
@media(max-width:780px){.layout{display:block}.sidebar{min-height:auto;padding:11px 12px;flex-direction:row;align-items:center;gap:3px;overflow-x:auto}.brand{padding:0 10px 0 0;flex:0 0 auto}.brand-mark{font-size:35px}.brand strong{font-size:.9rem}.brand small{font-size:.45rem}.nav-group,.sidebar-bottom{display:none}.navlink{width:auto;padding:10px;white-space:nowrap;gap:6px;font-size:.76rem}.topbar{height:52px;padding:0 17px}.top-right{display:none}.content{padding:24px 15px 44px}.page-heading{align-items:start;flex-direction:column}.page-heading h1{font-size:2rem}.two-col,.client-review-grid,.review-action,.review-layout{grid-template-columns:1fr}.panel{padding:19px}.sharebar{flex-direction:column;align-items:stretch}.sharebar input{width:100%;flex:auto}.calendar-top{padding:15px}.cal-day{min-height:95px;padding:3px}.weekday{font-size:.53rem;padding:10px 0}.daynumber{font-size:.7rem}.dayadd{opacity:1;width:22px;height:22px}.event{font-size:.57rem;padding:3px;margin:3px 0}.eventdot{display:none}.topic-expanded{padding:10px 0 20px}.topic-detail summary{gap:7px}.status{white-space:normal}.login-shell{grid-template-columns:1fr}.login-intro{min-height:240px;padding:30px}.login-intro .eyebrow{margin-top:25px}.login-intro h1{font-size:2rem;margin:9px 0}.login-intro p{display:none}.login-foot{display:none}.login-panel{padding:35px 27px}.login-bg{padding:12px}.task-add select{max-width:none}.footer{padding:20px 15px}}
@media(max-width:500px){.stats{gap:9px}.stat{padding:16px}.stat strong{font-size:2rem}.toolbar,.filterbar{align-items:stretch;flex-direction:column}.toolbar form,.filterbar form{width:100%}.toolbar .inlineform{align-items:stretch}.toolbar .btn,.filterbar .btn{width:100%}.two-input{grid-template-columns:1fr}.dayadd{width:19px;height:19px;font-size:.8rem}.calendar-top .legend{display:none}.cal-day{min-height:84px}.event span:last-child{-webkit-line-clamp:2}.approval-actions{flex-direction:column}.approval-actions .btn{width:100%}.topbar{font-size:.6rem}.brand span:last-child{display:none}}

.brief-edit{margin-bottom:17px}.brief-edit summary{cursor:pointer;font-size:.8rem;font-weight:800}.brief-edit .formstack{margin-top:18px}.delete-topic{margin-top:12px}

.kanban-column.drag-over{outline:2px dashed #e1a548;background:#fff4d9}.kanban-card[draggable=true]{cursor:grab}.kanban-card[draggable=true]:active{cursor:grabbing}
/* Accessibility refinement: form controls never shrink below 16px. */
input,select,textarea{font-size:16px}
.rowbody small,.stat small,.muted.small,.tag,.datepill,.status,.textlink,.attachment,.client-instructions p,.review-topic p,.delivery-row p,.comment p,.card-meta,.kanban-card p,.column-empty{font-size:14px}
.kicker,.eyebrow,.weekday,.nav-group,.brand small,.top-right,.footer,.stat span,.card-client{font-size:13px}
.event{font-size:13px}
@media(max-width:780px){.calendar-panel{overflow-x:auto}.calendar-top,.calendar-grid{min-width:840px}.cal-day{min-height:130px;padding:8px}.weekday{font-size:13px}.event{font-size:13px;padding:6px}.dayadd{width:26px;height:26px;font-size:16px}.daynumber{font-size:15px}}
