:root{--bg:#f7f5f1;--card:#ffffff;--text:#242321;--text-secondary:#6f6a62;--separator:#eae6e0;--blue:#1473e6;--blue-hover:#1263c6;--green:#2da66e;--green-text:#1f7a4f;--orange:#de9026;--amber-text:#9a5f14;--notify:#d64545;--muted:#a49e96;--gray-fill:#f2efea;--sidebar-width:248px;--r-sm:6px;--r-md:8px;--r-lg:10px;--radius:10px;--shadow-sm:0 1px 2px rgba(36,35,33,0.04);--shadow-md:0 1px 2px rgba(36,35,33,0.04),0 4px 12px rgba(36,35,33,0.03);--focus-ring-color:rgba(20,115,230,0.2);--focus-ring:0 0 0 3px var(--focus-ring-color)}@media (prefers-contrast:more){:root{--text-secondary:#4a463f;--muted:#6b665e;--separator:#c9c3b9;--blue:#0b57b8;--green-text:#146340;--amber-text:#7a4a0c;--focus-ring-color:rgba(11,87,184,0.45)}.article-card,.ov-card,.request-item{border-width:1.5px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.activity-date,.article-date,.client-percent,.focus-count,.nav-badge,.ov-card-meta,.ov-updated{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:8px}*{margin:0;padding:0;box-sizing:border-box}body,html{min-height:100%}body{background-color:var(--bg);color:var(--text);font-family:Inter,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:transparent}.login-card{width:100%;max-width:400px;background:var(--card);border-radius:22px;padding:48px 40px;box-shadow:0 8px 40px rgba(40,30,15,.08)}.admin-topbar .brand,.login-card .brand{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--separator);border-radius:999px;padding:5px 13px 5px 8px;margin-bottom:16px}.login-card h1{font-size:28px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.login-card .sub{color:var(--text-secondary);font-size:15px;margin-bottom:32px}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.field input{width:100%;background:var(--card);border:1px solid #d2d2d7;border-radius:12px;padding:13px 15px;font-size:16px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring-color)}.login-error{background:#fff2f2;color:#d70015;border-radius:12px;padding:11px 15px;font-size:14px;margin-bottom:16px}.btn-primary{width:100%;background:var(--blue);color:#fff;border:none;border-radius:980px;padding:13px;font-size:16px;font-weight:500;cursor:pointer;margin-top:10px;transition:background .15s}.btn-primary:hover{background:var(--blue-hover)}.btn-primary:disabled{opacity:.5;cursor:default}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--card);border-right:1px solid var(--separator);padding:26px 14px 20px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar-brand{position:relative;padding:0 10px 26px}.sidebar-brand .brand-label{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.brand-logo{display:block;height:22px;width:auto}.admin-topbar .brand .brand-logo,.login-card .brand .brand-logo{height:17px}.sidebar-brand .brand-company{font-size:15.5px;font-weight:600;letter-spacing:-.012em;color:var(--text);line-height:1.3}.sidebar-nav{display:flex;flex-direction:column;gap:1px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-md);font-size:14px;font-weight:500;color:var(--text-secondary);transition:background .13s ease,color .13s ease}.nav-item:hover{background:rgba(36,35,33,.035);color:var(--text);text-decoration:none}.nav-item.active{background:rgba(20,115,230,.07);color:var(--blue);font-weight:600}.nav-icon{position:relative;display:flex;align-items:center;color:currentColor}.nav-item.active .nav-icon{color:var(--blue)}.nav-label{flex:1 1}.nav-dot{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;border:2px solid var(--card)}.nav-badge,.nav-dot{background:var(--notify)}.nav-badge{flex-shrink:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;color:#fff;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.sidebar-footer{margin-top:auto;padding:14px 12px 0;border-top:1px solid var(--separator)}.drawer-backdrop,.drawer-close,.mobile-topbar{display:none}.main-content{flex:1 1;min-width:0;background:transparent}.page{max-width:720px;margin:0 auto;padding:56px 40px 80px}.page-header{margin-bottom:32px}.page-header h1{font-size:34px;font-weight:600;letter-spacing:-.025em;line-height:1.15}.page-sub{color:var(--text-secondary);font-size:16px;margin-top:8px}.btn-logout{background:none;border:none;color:var(--blue);font-size:15px;font-weight:400;cursor:pointer;padding:6px 0;white-space:nowrap;font-family:inherit}.btn-logout:hover{text-decoration:underline}.card{background:var(--card);border:1px solid var(--separator);border-radius:var(--radius);padding:28px;margin-bottom:16px}.card h2{font-size:19px;font-weight:600;letter-spacing:-.015em;margin-bottom:22px}.progress-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.progress-percent{font-size:60px;font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--text)}.progress-count{color:var(--text-secondary);font-size:15px}.progress-bar{height:6px;background:#e8e8ed;border-radius:999px;overflow:hidden}.progress-bar .fill{height:100%;border-radius:999px;background:var(--blue);transition:width .4s ease}.progress-hint{margin-top:16px;color:var(--text-secondary);font-size:15px}.progress-hint strong{color:var(--text);font-weight:600}.step{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--separator)}.step:last-child{border-bottom:none;padding-bottom:0}.step:first-of-type{padding-top:0}.step-icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;margin-top:2px}.step-icon.done{background:var(--green);color:#fff}.step-icon.in_progress{background:var(--orange);color:#fff}.step-icon.pending{background:transparent;border:1.5px solid #c7c7cc;color:transparent}.step-body{flex:1 1;min-width:0}.step-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.step-title{font-size:16px;font-weight:600;letter-spacing:-.01em}.step.pending .step-title{color:var(--text-secondary);font-weight:500}.step-desc{font-size:14px;margin-top:3px}.badge,.step-desc{color:var(--text-secondary)}.badge{font-size:13px;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#c7c7cc}.badge.done{color:var(--text)}.badge.done:before{background:var(--green)}.badge.in_progress{color:var(--text)}.badge.in_progress:before{background:var(--orange)}.update{padding:16px 0;border-bottom:1px solid var(--separator)}.update:last-child{border-bottom:none;padding-bottom:0}.update:first-of-type{padding-top:0}.update-date{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:3px}.update-message{font-size:15px;color:var(--text)}.empty-note{color:var(--text-secondary);font-size:15px}.day-row{display:flex;gap:24px;padding:18px 0;border-bottom:1px solid var(--separator)}.day-row:first-of-type{padding-top:0}.day-row:last-child{border-bottom:none;padding-bottom:0}.day-label{flex-shrink:0;width:110px}.day-weekday{font-size:15px;font-weight:600;color:var(--text);text-transform:capitalize}.day-date{font-size:13px;color:var(--text-secondary);margin-top:2px}.day-items{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:12px}.day-empty{font-size:14px;color:#b0b0b6;padding-top:1px}.plan-item{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--separator);border-radius:14px;background:var(--card);transition:border-color .15s,background .15s}.plan-item.approved{border-color:#bfe6cf;background:#f2fbf6}.plan-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}.approved-badge{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-size:13px;font-weight:600}.mini-btn{border:1px solid #ddd8d0;background:var(--card);color:var(--text);border-radius:var(--r-sm);padding:5px 11px;font-size:12.5px;font-weight:500;cursor:pointer;font-family:inherit;white-space:nowrap;transition:border-color .12s ease,background .12s ease,color .12s ease}.mini-btn:hover{border-color:#cdc7bd;background:var(--gray-fill)}.mini-btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.mini-btn.primary:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.mini-btn.subtle{border-color:transparent;color:var(--text-secondary);padding:6px 10px}.mini-btn.subtle:hover{color:var(--text);border-color:transparent}.plan-item.editing{align-items:stretch}.plan-edit-form{display:flex;flex-direction:column;gap:10px;width:100%}.plan-edit-form textarea{width:100%;border:1px solid #d2d2d7;border-radius:12px;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text);resize:vertical;outline:none;transition:border-color .15s,box-shadow .15s}.plan-edit-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring-color)}.plan-edit-actions{display:flex;gap:8px}.channel-chip{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;background:var(--gray-fill);border-radius:8px;padding:3px 10px;font-size:13px;font-weight:500;color:var(--text)}.channel-dot{width:7px;height:7px;border-radius:50%}.plan-content{flex:1 1;min-width:140px;font-size:15px;color:var(--text)}.card-chat{padding:0;overflow:hidden}.chat{display:flex;flex-direction:column;height:62vh;min-height:420px}.chat-messages{flex:1 1;overflow-y:auto;padding:24px;gap:14px}.chat-messages,.msg{display:flex;flex-direction:column}.msg{max-width:78%}.msg.client{align-self:flex-end;align-items:flex-end}.msg.admin{align-self:flex-start;align-items:flex-start}.bubble{padding:10px 15px;border-radius:20px;font-size:15px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.msg.client .bubble{background:var(--blue);color:#fff;border-bottom-right-radius:6px}.msg.admin .bubble{background:#e9e9eb;color:var(--text);border-bottom-left-radius:6px}.msg-time{font-size:11px;color:var(--text-secondary);margin-top:4px;padding:0 6px}.chat-form{display:flex;gap:10px;padding:16px;border-top:1px solid var(--separator);background:var(--card)}.chat-form input{flex:1 1;min-width:0;background:var(--card);border:1px solid #d2d2d7;border-radius:980px;padding:11px 18px;font-size:15px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit}.chat-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring-color)}.chat-form button{flex-shrink:0;background:var(--blue);color:#fff;border:none;border-radius:980px;padding:0 22px;font-size:15px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s}.chat-form button:hover:not(:disabled){background:var(--blue-hover)}.chat-form button:disabled{opacity:.4;cursor:default}.admin-wrap{max-width:820px;margin:0 auto;padding:48px 40px 80px}.admin-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.admin-topbar .brand{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px}.admin-topbar h1{font-size:32px;font-weight:600;letter-spacing:-.025em;line-height:1.15}.back-link{font-size:14px;color:var(--text-secondary);display:inline-block;margin-bottom:8px}.back-link:hover{color:var(--blue);text-decoration:none}.admin-banner{border-radius:12px;padding:12px 16px;font-size:14px;font-weight:500;margin-bottom:20px}.admin-banner.error{background:#fff2f2;color:#d70015}.admin-banner.ok{background:#e8f7ef;color:var(--green)}.client-list{display:flex;flex-direction:column}.client-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--separator);color:var(--text)}.client-row:last-child{border-bottom:none}.client-row:hover{text-decoration:none}.client-row:hover .client-name{color:var(--blue)}.client-name{font-size:16px;font-weight:600;transition:color .12s}.client-meta{font-size:13px;color:var(--text-secondary);margin-top:2px}.client-progress{display:flex;align-items:center;gap:10px;flex-shrink:0}.mini-bar{width:90px;height:6px;background:#e8e8ed;border-radius:999px;overflow:hidden}.mini-fill{height:100%;background:var(--blue);border-radius:999px}.client-percent{font-size:14px;font-weight:600;color:var(--text-secondary);width:38px;text-align:right}.admin-form .form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.field select{width:100%;background:var(--card);border:1px solid #d2d2d7;border-radius:12px;padding:12px 14px;font-size:15px;color:var(--text);outline:none;font-family:inherit}.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring-color)}.btn-inline{width:auto;margin-top:16px;padding:11px 22px}.add-form{margin-top:22px;padding-top:22px;border-top:1px solid var(--separator)}.admin-steps{display:flex;flex-direction:column}.admin-step{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--separator);flex-wrap:wrap}.admin-step:first-child{padding-top:0}.admin-step-main{flex:1 1;min-width:220px}.admin-step-title{font-size:15px;font-weight:600}.admin-step-desc{font-size:13px;color:var(--text-secondary);margin-top:2px}.admin-step-controls{display:flex;align-items:center;gap:8px}.status-group{display:inline-flex;background:var(--gray-fill);border-radius:10px;padding:3px;gap:2px}.status-btn{border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;padding:6px 11px;border-radius:8px;cursor:pointer;font-family:inherit;transition:background .12s,color .12s}.status-btn:hover{color:var(--text)}.status-btn.active{background:var(--card);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.08)}.status-btn.done.active{color:var(--green)}.status-btn.in_progress.active{color:var(--orange)}.btn-delete{border:none;background:transparent;color:#c7c7cc;font-size:15px;line-height:1;cursor:pointer;padding:8px;border-radius:8px;transition:color .12s,background .12s}.btn-delete:hover{color:#d70015;background:#fff2f2}.admin-plan{display:flex;flex-direction:column}.admin-plan-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--separator)}.admin-plan-row:first-child{padding-top:0}.admin-plan-date{flex-shrink:0;width:92px;font-size:13px;font-weight:600;color:var(--text);text-transform:capitalize}.admin-plan-channel{flex-shrink:0;background:var(--gray-fill);border-radius:8px;padding:3px 10px;font-size:12.5px;font-weight:500}.admin-plan-content{flex:1 1;min-width:0;font-size:14px}.admin-updates{display:flex;flex-direction:column}.admin-update-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--separator)}.admin-update-row:first-child{padding-top:0}.card-chat-head{padding:24px 28px 4px}.card-chat-head h2{margin-bottom:0}.request-list{display:flex;flex-direction:column;gap:12px}.request-item{border:1px solid var(--separator);border-radius:var(--r-lg);padding:13px 15px;transition:border-color .15s ease,background .15s ease}.request-item.done{border-color:#bfe6cf;background:#f2fbf6}.request-top{gap:12px}.request-check,.request-top{display:flex;align-items:center}.request-check{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:1.5px solid #d5cfc6;justify-content:center;font-size:11px;font-weight:700;color:transparent}.request-item.done .request-check{background:var(--green);border-color:var(--green);color:#fff}.request-main{flex:1 1;min-width:0}.request-title{font-size:13.5px;font-weight:500}.request-item.done .request-title,.request-reply{color:var(--text-secondary)}.request-reply{font-size:13.5px;margin-top:3px}.request-reply-label{font-weight:600;color:var(--blue)}.request-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.request-ask-form{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--separator)}.request-ask-form input{width:100%;border:1px solid #d2d2d7;border-radius:12px;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.request-ask-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring-color)}.request-ask-actions{display:flex;gap:8px}.admin-requests{display:flex;flex-direction:column}.admin-request-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--separator)}.admin-request-row:first-child{padding-top:0}.req-status{flex-shrink:0;font-size:12.5px;font-weight:600;border-radius:8px;padding:3px 10px;white-space:nowrap;margin-top:1px}.req-status.done{background:#e8f7ef;color:var(--green)}.req-status.open{background:var(--gray-fill);color:var(--text-secondary)}.admin-request-main{flex:1 1;min-width:0}.admin-request-title{font-size:15px;font-weight:500}.admin-request-reply{font-size:13.5px;color:var(--text-secondary);margin-top:4px;background:var(--gray-fill);border-radius:10px;padding:8px 11px}.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:8px;background:var(--notify);color:#fff;font-size:11px;font-weight:700}.unread-badge,.unread-pill{border-radius:999px;vertical-align:middle}.unread-pill{margin-left:10px;font-size:12.5px;font-weight:600;color:var(--notify);background:#ffecea;padding:2px 10px}.plan-doc-list{display:flex;flex-direction:column;gap:12px}.plan-doc{border:1px solid var(--separator);border-radius:14px;padding:16px;transition:border-color .15s,background .15s}.plan-doc.approved{border-color:#bfe6cf;background:#f2fbf6}.plan-doc.changes{border-color:#f2d9a8;background:#fdf7ec}.plan-doc-top{display:flex;align-items:center;gap:14px}.plan-doc-icon{flex-shrink:0;font-size:26px;line-height:1}.plan-doc-main{flex:1 1;min-width:0}.plan-doc-name{font-size:15px;font-weight:600;color:var(--blue);word-break:break-word}.plan-doc-meta{font-size:13px;color:var(--text-secondary);margin-top:2px}.plan-doc-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.plan-doc-preview{width:100%;height:540px;display:block}.plan-doc-preview,.plan-doc-text{margin-top:14px;border:1px solid var(--separator);border-radius:12px;background:#fff}.plan-doc-text{padding:18px 20px;font-family:inherit;font-size:14.5px;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:540px;overflow:auto}.plan-doc-fallback{margin-top:14px;padding:16px;border:1px dashed var(--separator);border-radius:12px;font-size:14px;color:var(--text-secondary);background:var(--gray-fill)}.plan-doc-note{margin-top:12px;padding-top:12px;border-top:1px solid var(--separator);font-size:14px;color:var(--text)}.plan-doc-note-label{font-weight:600;color:var(--orange)}.plan-doc-ask{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--separator)}.plan-doc-ask textarea{width:100%;border:1px solid #d2d2d7;border-radius:12px;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text);resize:vertical;outline:none;transition:border-color .15s,box-shadow .15s}.plan-doc-ask textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring-color)}.plan-doc-ask-actions{display:flex;gap:8px}.admin-docs{display:flex;flex-direction:column}.admin-doc-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--separator)}.admin-doc-row:first-child{padding-top:0}.admin-doc-icon{flex-shrink:0;font-size:22px;line-height:1.1}.admin-doc-main{flex:1 1;min-width:0}.admin-doc-name{font-size:15px;font-weight:600;color:var(--blue);word-break:break-word}.admin-doc-status{font-size:13px;font-weight:500;margin-top:2px;color:var(--text-secondary)}.admin-doc-status.approved{color:var(--green)}.admin-doc-status.changes_requested{color:var(--orange)}.admin-doc-note{font-size:13.5px;color:var(--text);margin-top:6px;background:var(--gray-fill);border-radius:10px;padding:8px 11px}.ov-page{max-width:1120px;margin:0 auto;padding:48px 40px 72px}.eyebrow{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.ov-header{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--separator)}.ov-header-main{min-width:0}.ov-title{font-size:28px;font-weight:600;letter-spacing:-.028em;line-height:1.2;margin-top:8px}.ov-intro{color:var(--text-secondary);font-size:14.5px;line-height:1.65;margin-top:8px;max-width:58ch}.ov-updated{flex-shrink:0;font-size:12.5px;color:var(--muted);padding-top:6px;white-space:nowrap}.ov-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start}.col-12{grid-column:span 12}.col-7{grid-column:span 7}.col-5{grid-column:span 5}.ov-card{background:var(--card);border:1px solid var(--separator);border-radius:var(--radius);padding:22px 24px;height:100%;box-shadow:var(--shadow-sm)}.ov-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.ov-card-title{font-size:14.5px;font-weight:600;letter-spacing:-.005em;color:var(--text)}.ov-card-meta{font-size:12.5px;color:var(--muted);white-space:nowrap}.ov-empty{font-size:14px;color:var(--text-secondary);line-height:1.6}.status-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;white-space:nowrap;color:var(--muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-label.done{color:var(--green-text)}.status-label.done .status-dot{background:var(--green)}.status-label.active{color:var(--amber-text)}.status-label.active .status-dot{background:var(--orange)}.focus-card{padding:26px 28px 24px;box-shadow:var(--shadow-md)}.focus-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.focus-heading{font-size:20px;font-weight:600;letter-spacing:-.022em;line-height:1.3;margin-top:12px;max-width:34ch}.focus-desc{color:var(--text-secondary);font-size:14.5px;line-height:1.65;margin-top:8px;max-width:64ch}.focus-progress{margin-top:22px;padding-top:20px;border-top:1px solid var(--separator)}.focus-progress-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:9px}.focus-area{font-weight:600;letter-spacing:.02em}.focus-area,.focus-count{font-size:12.5px;color:var(--text-secondary)}.focus-count{font-weight:500}.progress-segments{display:flex;gap:4px}.progress-segment{flex:1 1;height:4px;border-radius:2px;background:#e8e4dd}.progress-segment.done{background:var(--green)}.progress-segment.active{background:var(--orange)}.focus-next{margin-top:20px;font-size:14px;color:var(--text-secondary);line-height:1.55}.focus-next-label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px}.timeline{list-style:none;margin:0;padding:0}.timeline-item{display:flex;gap:16px}.timeline-item:last-child .timeline-body{padding-bottom:0}.timeline-marker{flex-direction:column}.timeline-marker,.timeline-node{display:flex;align-items:center;flex-shrink:0}.timeline-node{width:20px;height:20px;border-radius:50%;justify-content:center;border:1.5px solid #e0dbd3;background:var(--card);color:var(--muted);font-size:10.5px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline-item.done .timeline-node{background:var(--green);border-color:var(--green);color:#fff}.timeline-item.active .timeline-node{border-color:var(--orange);color:var(--amber-text);box-shadow:0 0 0 3px rgba(222,144,38,.14)}.timeline-line{flex:1 1;width:1.5px;background:#e7e3dc;margin:6px 0;min-height:12px}.timeline-item.done .timeline-line{background:rgba(45,166,110,.35)}.timeline-body{flex:1 1;min-width:0;padding-bottom:22px}.timeline-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.timeline-title{font-size:14.5px;font-weight:600;letter-spacing:-.008em;line-height:1.35}.timeline-item.upcoming .timeline-title{color:var(--text-secondary);font-weight:500}.timeline-desc{font-size:13.5px;color:var(--text-secondary);line-height:1.6;margin-top:4px;max-width:68ch}.activity-list{list-style:none;margin:0;padding:0}.activity-item{display:flex;align-items:flex-start;gap:13px;padding:13px 0;border-bottom:1px solid var(--separator)}.activity-item:first-child{padding-top:0}.activity-item:last-child{border-bottom:none;padding-bottom:0}.activity-icon{flex-shrink:0;width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--gray-fill);color:var(--text-secondary)}.activity-body{min-width:0}.activity-title{font-size:13.5px;font-weight:500;line-height:1.55}.activity-date{font-size:12px;color:var(--muted);margin-top:3px}.meeting-card{display:flex;flex-direction:column}.meeting-date{font-size:20px;font-weight:600;letter-spacing:-.015em;margin-top:2px}.meeting-facts{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}.meeting-facts li{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--text-secondary)}.meeting-facts svg{color:var(--muted);flex-shrink:0}.meeting-card .btn-solid{margin-top:22px;align-self:flex-start}.btn-solid{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:var(--r-md);padding:8px 14px;font-size:13.5px;font-weight:500;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .13s ease,border-color .13s ease}.btn-solid:hover{background:var(--blue-hover);border-color:var(--blue-hover);text-decoration:none;color:#fff}.btn-quiet{display:inline-flex;align-items:center;justify-content:center;background:var(--card);color:var(--text);border:1px solid #ddd8d0;border-radius:var(--r-md);padding:8px 14px;font-size:13.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .13s ease,background .13s ease}.btn-quiet:hover{background:var(--gray-fill);border-color:#cdc7bd;text-decoration:none}.text-link{display:inline-block;margin-top:12px;font-size:14.5px;font-weight:500;color:var(--blue)}.text-link:hover{text-decoration:underline}.action-card{border-color:#d7e5fb;background:#f7fafe;box-shadow:none}.action-card.settled{border-color:var(--separator);background:var(--card)}.action-head{gap:10px}.action-head,.action-icon{display:flex;align-items:center}.action-icon{width:22px;height:22px;border-radius:50%;justify-content:center;flex-shrink:0;background:var(--blue);color:#fff}.action-icon.settled{background:var(--green)}.action-title{font-size:17px;font-weight:600;letter-spacing:-.012em;margin-top:14px}.action-desc{font-size:13.5px;color:var(--text-secondary);line-height:1.6;margin-top:8px;max-width:66ch}.action-card.settled .action-desc{margin-top:10px}.action-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.why-card{display:flex;gap:16px;background:var(--gray-fill);border-color:#e4dfd7}.why-icon{flex-shrink:0;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--separator);color:var(--orange)}.why-text{font-size:14.5px;color:var(--text-secondary);line-height:1.65;margin-top:8px;max-width:78ch}.modal-backdrop{position:fixed;inset:0;background:rgba(36,35,33,.42);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal{width:100%;max-width:460px;background:var(--card);border:1px solid var(--separator);border-radius:14px;padding:24px 26px 26px;max-height:85vh;overflow-y:auto}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal-title{font-size:19px;font-weight:600;letter-spacing:-.015em;margin-top:6px}.modal-close{flex-shrink:0;width:32px;height:32px;border-radius:8px;border:1px solid var(--separator);background:var(--card);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .13s,color .13s}.modal-close:hover{background:var(--gray-fill);color:var(--text)}.modal-facts{margin-top:16px;padding-bottom:18px;border-bottom:1px solid var(--separator)}.modal-section{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary);margin-top:18px}.agenda-list{margin:12px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.agenda-list li{font-size:14.5px;line-height:1.55}.modal-note{margin-top:18px;padding-top:16px;border-top:1px solid var(--separator);font-size:13.5px;color:var(--text-secondary);line-height:1.6}.skeleton{background:linear-gradient(90deg,#ece8e2 25%,#f4f1ec 37%,#ece8e2 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:6px}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.skeleton-line{height:13px}.skeleton-line.lg{height:26px;border-radius:8px}.skeleton-card{min-height:120px}.skeleton-bar{height:6px;margin-top:26px;border-radius:3px}.skeleton-node{width:24px;height:24px;border-radius:50%;flex-shrink:0}.skeleton-row{display:flex;gap:16px;margin-top:22px}.skeleton-row-body{flex:1 1}.skeleton-button{height:40px;width:160px;border-radius:9px}.article-list{display:flex;flex-direction:column;gap:16px}.article-card{background:var(--card);border:1px solid var(--separator);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow-sm)}.article-card.approved{border-color:#bfe6cf;background:#f7fcf9}.article-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.platform-chip{display:inline-flex;align-items:center;gap:6px;background:var(--gray-fill);border-radius:var(--r-sm);padding:3px 9px;font-size:11.5px;font-weight:600;letter-spacing:.01em;color:var(--text)}.platform-dot{width:6px;height:6px;border-radius:50%;background:var(--platform,var(--muted))}.article-date{font-size:12.5px;color:var(--muted);text-transform:capitalize}.article-approved{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-size:12px;font-weight:600;color:var(--green-text)}.article-title{font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.35;margin-bottom:10px}.article-body{font-size:14.5px;line-height:1.7;color:var(--text-secondary);max-width:66ch}.article-body p{margin-bottom:12px}.article-body h2,.article-body h3,.article-body h4{font-size:14.5px;font-weight:600;color:var(--text);letter-spacing:-.008em;margin:18px 0 7px}.article-body ol,.article-body ul{margin:0 0 14px 20px}.article-body li{margin-bottom:6px}.article-body blockquote{margin:14px 0;padding-left:14px;border-left:3px solid var(--separator);color:var(--text-secondary)}.article-body>:last-child{margin-bottom:0}.article-note{margin-top:16px;background:#fdf7ec;border-radius:10px;padding:11px 14px;font-size:14px;line-height:1.55}.article-note-label{font-weight:600;color:var(--amber-text)}.article-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--separator)}.article-card.editing{border-color:var(--blue);box-shadow:0 0 0 3px rgba(20,115,230,.1)}.editor-head{gap:12px;flex-wrap:wrap;margin-bottom:18px}.editor-head,.editor-label-row{display:flex;align-items:center}.editor-label-row{justify-content:space-between;gap:16px;margin-bottom:6px}.editor-label-row label{margin-bottom:0}.html-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid #cfc9c0;background:var(--card);color:var(--text-secondary);border-radius:999px;padding:5px 12px 5px 6px;font-size:12.5px;font-weight:500;font-family:inherit;line-height:1.2;cursor:pointer;white-space:nowrap;transition:background .14s ease,border-color .14s ease,color .14s ease}.html-toggle:hover{border-color:#b8b1a7;background:var(--gray-fill);color:var(--text)}.html-toggle-mark{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;border:1.5px solid #c3bcb2;background:transparent;color:transparent;flex-shrink:0;transition:background .14s ease,border-color .14s ease}.html-toggle-state{font-weight:600;color:var(--muted);text-transform:uppercase;font-size:10.5px;letter-spacing:.06em}.html-toggle.on{background:rgba(20,115,230,.09);border-color:rgba(20,115,230,.45);color:var(--blue);font-weight:600}.html-toggle.on .html-toggle-mark{background:var(--blue);border-color:var(--blue);color:#fff}.html-toggle.on .html-toggle-state{color:var(--blue)}.editor-area{width:100%;min-height:320px;border:1px solid #dcd7cf;border-radius:var(--r-lg);padding:15px 17px;font-family:inherit;font-size:15px;line-height:1.7;color:var(--text);background:var(--card);resize:vertical;outline:none;transition:border-color .15s,box-shadow .15s}.editor-area.code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.65}.editor-area:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(20,115,230,.15)}.editor-hint{margin-top:8px;font-size:12.5px;line-height:1.6;color:var(--text-secondary)}.editor-hint code{background:var(--gray-fill);border-radius:4px;padding:1px 5px;font-size:12px}.editor-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.notify{position:relative;flex-shrink:0}.notify-trigger{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1px solid #ddd8d0;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:500;font-family:inherit;color:var(--text-secondary);cursor:pointer;transition:border-color .12s ease,background .12s ease}.notify-trigger:hover{border-color:#cdc7bd;background:var(--gray-fill)}.notify-dot{width:6px;height:6px;border-radius:50%;background:var(--muted)}.notify-dot.on{background:var(--green)}.notify-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:320px;background:var(--card);border:1px solid var(--separator);border-radius:var(--r-lg);box-shadow:0 4px 24px rgba(36,35,33,.1);padding:16px}.notify-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.notify-title{font-size:13.5px;font-weight:600}.notify-close{border:none;background:none;color:var(--muted);cursor:pointer;padding:2px;display:flex;border-radius:var(--r-sm)}.notify-close:hover{color:var(--text)}.notify-desc{font-size:12.5px;line-height:1.6;color:var(--text-secondary);margin:6px 0 12px}.notify-form{display:flex;gap:8px}.notify-form input{flex:1 1;min-width:0;border:1px solid #dcd7cf;border-radius:var(--r-md);padding:8px 11px;font-size:13.5px;font-family:inherit;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.notify-form input:focus{border-color:var(--blue);box-shadow:var(--focus-ring)}.notify-hint{margin-top:10px;font-size:12px;color:var(--muted)}.email-status{margin-top:14px;border:1px solid var(--separator);border-radius:var(--r-lg);overflow:hidden}.email-status>div{display:flex;gap:14px;padding:9px 13px;border-bottom:1px solid var(--separator);font-size:12.5px}.email-status>div:last-child{border-bottom:none}.email-status dt{flex-shrink:0;width:116px;color:var(--text-secondary)}.email-status dd{min-width:0;word-break:break-word;font-weight:500}.email-status dd.ok{color:var(--green-text)}.email-status dd.bad{color:var(--amber-text)}.bulk-open{margin-top:20px}.bulk-hint{margin:0 0 8px}.bulk-date{margin-top:14px;max-width:260px}.admin-articles{display:flex;flex-direction:column;gap:4px}.admin-article{border-bottom:1px solid var(--separator);padding:14px 0}.admin-article:first-child{padding-top:0}.admin-article-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-article-title{flex:1 1;min-width:180px;font-size:14.5px;font-weight:600}.chat-page{display:flex;flex-direction:column;height:100vh;max-width:860px;margin:0 auto;padding:0 24px}.chat-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 4px 14px;border-bottom:1px solid var(--separator)}.chat-page-title{font-size:17px;font-weight:600;letter-spacing:-.018em}.chat-page-sub{font-size:13px;color:var(--text-secondary);margin-top:2px}.chat-page .chat{flex:1 1;height:auto;min-height:0}.chat-page .chat-messages{padding:24px 4px}.chat-page .chat-form{border-top:none;padding:12px 0 22px;background:transparent}.chat-page .chat-form input{padding:14px 20px;font-size:15.5px;border-color:#dcd7cf}@media (max-width:1080px){.ov-page{padding:40px 28px 64px}.col-5,.col-7{grid-column:span 12}}@media (max-width:860px){.app-shell{flex-direction:column}.mobile-topbar{display:flex;gap:12px;position:-webkit-sticky;position:sticky;top:0;z-index:30;padding:10px 16px;border-bottom:1px solid var(--separator)}.menu-button,.mobile-topbar{align-items:center;background:var(--card)}.menu-button{display:inline-flex;justify-content:center;width:38px;height:38px;border-radius:9px;border:1px solid var(--separator);color:var(--text);cursor:pointer;flex-shrink:0}.menu-button:hover{background:var(--gray-fill)}.mobile-brand{display:flex;align-items:center;gap:9px;min-width:0;font-size:15px;font-weight:600}.mobile-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-brand .brand-logo{height:20px}.drawer-backdrop{display:block;position:fixed;inset:0;background:rgba(36,35,33,.42);z-index:40}.sidebar{position:fixed;top:0;left:0;bottom:0;height:100dvh;width:268px;max-width:84vw;z-index:41;transform:translateX(-100%);transition:transform .22s ease;border-right:1px solid var(--separator)}.sidebar.open{transform:translateX(0)}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.drawer-close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:-4px;right:4px;width:32px;height:32px;border-radius:8px;border:1px solid var(--separator);background:var(--card);color:var(--text-secondary);cursor:pointer}.ov-page{padding:28px 20px 56px}.ov-header{flex-direction:column;gap:12px}.ov-updated{padding-top:0}.ov-title{font-size:26px}.focus-card{padding:22px 20px}.focus-heading{font-size:20px}.ov-card{padding:20px}.action-buttons .btn-quiet,.action-buttons .btn-solid{flex:1 1;min-width:160px}.why-card{flex-direction:column;gap:12px}.page{padding:32px 20px 64px}.page-header h1{font-size:27px}.card{padding:22px}.login-card{padding:36px 28px}.day-row{flex-direction:column;gap:8px}.day-label{width:auto}.admin-wrap{padding:32px 20px 64px}.admin-topbar h1{font-size:26px}.admin-form .form-grid{grid-template-columns:1fr}.admin-step-controls{width:100%;justify-content:space-between}}