:root{--purple:#7b68ee;--purple-dark:#5f4bd1;--bg:#f7f7fb;--sidebar:#1e1a2e;--sidebar-hover:#2c2640;--border:#e5e5ef;--text:#2a2a3c;--muted:#8a8aa3;--green:#2ecc71;--amber:#f5a623;--red:#e74c3c;--blue:#3f6fd6;--card:#fff}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:230px;background:var(--sidebar);color:#d8d6e8;display:flex;flex-direction:column;flex-shrink:0}.sidebar .brand{padding:18px 16px;font-weight:700;font-size:15px;color:#fff;display:flex;align-items:center;gap:8px;border-bottom:1px solid hsla(0,0%,100%,.08)}.brand .dot{width:10px;height:10px;border-radius:3px;background:var(--purple);display:inline-block}.nav{padding:4px 8px;flex:1 1;overflow-y:auto}.nav-section{padding:14px 10px 4px;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#726d94}.nav-section:first-of-type{padding-top:6px}.nav-item{display:flex;align-items:center;gap:9px;padding:6px 10px;border-radius:7px;cursor:pointer;font-size:13px;line-height:1.3;margin-bottom:1px;color:#c6c3dc;transition:background .1s}.nav-item .ic{width:16px;text-align:center;font-size:13px}.nav-item:hover{background:#ffffff0f}.nav-item.active{background:#7b68ee2e;color:#fff;font-weight:600}.sidebar-footer{padding:12px 16px;font-size:11.5px;color:#6f6a89;border-top:1px solid hsla(0,0%,100%,.08)}.sidebar-footer button{background:0 0;border:1px solid hsla(0,0%,100%,.18);color:#c6c3dc;border-radius:6px;padding:5px 9px;font-size:11px;cursor:pointer;margin-top:6px}.sidebar-footer button:hover{background:#ffffff14}.main{flex:1 1;display:flex;flex-direction:column;min-width:0}.topbar{height:56px;border-bottom:1px solid var(--border);justify-content:space-between;padding:0 20px;background:#fff;flex-shrink:0}.topbar,.topbar-left{display:flex;align-items:center}.topbar-left{gap:2px;min-width:0}.hamburger-btn{display:none;background:0 0;border:none;font-size:20px;line-height:1;cursor:pointer;color:var(--text);padding:6px 8px;margin-right:4px;border-radius:6px;flex-shrink:0}.hamburger-btn:hover{background:#f2f1fa}.topbar h1{font-size:16px;margin:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .sub{font-size:12px;color:var(--muted);font-weight:400;margin-left:8px}.sidebar-backdrop{display:none}.content{flex:1 1;overflow-y:auto;padding:20px 24px}.btn{background:var(--purple);color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.btn:hover{background:var(--purple-dark)}.btn.secondary{background:#fff;color:var(--text);border:1px solid var(--border)}.btn.small{padding:5px 10px;font-size:12px}.btn.danger{background:#fdecea;color:var(--red);border:1px solid #f5c6c0}.btn.danger:hover{background:#fbdada}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select{border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:13px;background:#fff}.spacer{flex:1 1}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:14px;gap:14px;margin-bottom:22px}.kpi{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.kpi .label{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.kpi .value{font-size:22px;font-weight:700}.kpi .delta{font-size:12px;margin-top:4px}.kpi .delta.up{color:var(--green)}.kpi .delta.warn{color:var(--amber)}.panel{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin-bottom:18px}.panel h3{margin:0 0 12px;font-size:13.5px}.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:12.5px}.bar-row .lbl{width:38px;color:var(--muted)}.bar-track{flex:1 1;background:#eeeef5;border-radius:4px;height:16px;overflow:hidden}.bar-fill{height:100%;background:var(--purple);border-radius:4px}.bar-row .val{width:34px;text-align:right;color:var(--muted)}.bar-row.peak .bar-fill{background:var(--amber)}.bar-row.peak .lbl{color:var(--amber);font-weight:700}.board{gap:14px;overflow-x:auto;padding-bottom:8px}.board,.col{display:flex}.col{background:#eeeef5;border-radius:10px;min-width:250px;max-width:270px;flex-shrink:0;flex-direction:column;max-height:calc(100vh - 210px)}.col-head{padding:10px 12px;font-size:12.5px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.col-head .count{background:#ddd8ee;color:#635a8a;border-radius:10px;padding:1px 8px;font-size:11px}.col-body{padding:0 8px 8px;overflow-y:auto;flex:1 1}.card{background:#fff;border-radius:8px;padding:10px 12px;margin-bottom:8px;box-shadow:0 1px 2px #0000000f;cursor:-webkit-grab;cursor:grab;border-left:3px solid var(--purple)}.card.dragging{opacity:.4}.card .title{font-size:13px;font-weight:600;margin-bottom:6px}.card .meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.tag{display:inline-block;font-size:10.5px;padding:2px 7px;border-radius:10px;font-weight:600}.tag.high{background:#fdecea;color:var(--red)}.tag.med{background:#fff4e0;color:#b9791b}.tag.low{background:#eaf6ec;color:#2c9f52}.avatar{width:20px;height:20px;border-radius:50%;background:var(--purple);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700}table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border-radius:10px;overflow:hidden}th{text-align:left;font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.03em;background:#fafafd}td,th{padding:10px 12px;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}.status-pill{font-size:11px;padding:3px 9px;border-radius:10px;font-weight:600}.status-New{background:#e8eefc;color:#3f6fd6}.status-Preparing{background:#fff4e0;color:#b9791b}.status-Ready{background:#eaf3ff;color:#2076c9}.status-Completed,.status-PAID{background:#eaf6ec;color:#2c9f52}.status-REFUNDED{background:#fdecea;color:var(--red)}.status-PARTIALLY_REFUNDED{background:#fff4e0;color:#b9791b}.tier-pill{font-size:11px;padding:3px 9px;border-radius:10px;font-weight:700}.tier-Gold{background:#fdf2d0;color:#a4780a}.tier-Silver{background:#eef0f4;color:#5b6270}.crm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px}.crm-card h3{font-size:14px}.crm-row{font-size:12.5px;margin-bottom:7px;color:var(--text)}.crm-lbl{display:inline-block;width:82px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.automation-row{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--border);border-radius:10px;margin-bottom:10px;background:#fff}.automation-row .flow{flex:1 1;font-size:13px}.automation-row .flow b{color:var(--purple-dark)}.automation-row .arrow{color:var(--muted);margin:0 6px}.switch{width:38px;height:22px;background:#ddd;border-radius:12px;position:relative;cursor:pointer;flex-shrink:0;transition:.15s}.switch.on{background:var(--purple)}.switch .knob{width:18px;height:18px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:.15s}.switch.on .knob{left:18px}.run-count{font-size:11.5px;color:var(--muted);width:90px;text-align:right}.progress-track{background:#eeeef5;border-radius:4px;height:8px;width:120px;overflow:hidden}.progress-fill{height:100%;background:var(--green)}.progress-fill.warn{background:var(--amber)}.goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:14px;gap:14px;margin-top:10px}.goal-card h3{display:flex;justify-content:space-between;align-items:center;font-size:14px}.goal-maps{font-size:11px;color:var(--muted);font-weight:400}.kpi-row{margin-bottom:14px}.kpi-row-top{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:5px}.kpi-row-top .kpi-vals{color:var(--muted);font-size:12px}.kpi-row-top .arrow{color:#c8c5db}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:14px;gap:14px}.project-card h3{display:flex;align-items:center;gap:8px;font-size:14.5px}.project-owner{font-size:12px;color:var(--muted);margin-bottom:4px}.project-section-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:700;margin:10px 0 6px}.checklist-row{display:flex;align-items:center;gap:9px;font-size:13px;padding:6px 4px;border-radius:6px;cursor:pointer}.checklist-row:hover{background:#f7f6fb}.checkbox{width:16px;height:16px;border-radius:4px;border:1.5px solid #cfccdf;flex-shrink:0;position:relative}.checkbox.checked{background:var(--purple);border-color:var(--purple)}.checkbox.checked:after{content:"✓";position:absolute;display:flex;color:#fff;font-size:11px;font-weight:700}.checkbox.checked:after,.overlay{inset:0;align-items:center;justify-content:center}.overlay{position:fixed;background:#140f2359;display:none;z-index:50}.overlay.show{display:flex}.modal{background:#fff;border-radius:12px;padding:22px;width:380px;box-shadow:0 10px 40px #0003}.modal h3{margin-top:0}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.field input,.field select{width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal.wide{width:640px;max-height:82vh;overflow-y:auto}.checkbox-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;padding:8px}.checkbox-list label{display:flex;align-items:center;gap:8px;font-size:13px}.cal-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.cal-view-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.cal-view-toggle button{background:#fff;border:none;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--muted)}.cal-view-toggle button.active{background:var(--purple);color:#fff}.cal-nav{display:flex;align-items:center;gap:8px}.cal-nav button{background:#fff;border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:13px;cursor:pointer}.cal-nav button:hover{background:#f2f1fa}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:10px;gap:10px}.cal-col{background:#f7f7fb;border:1px solid var(--border);border-radius:8px;padding:8px;min-height:110px;cursor:pointer;transition:box-shadow .1s}.cal-col:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}.cal-col.today{border-color:var(--purple)}.cal-day{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.cal-item{background:#fff;border-left:3px solid var(--purple);border-radius:5px;padding:6px 8px;font-size:12px;margin-bottom:6px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.cal-auto{display:inline-block;margin-left:5px;font-size:9.5px;background:#eaf6ec;color:#2c9f52;padding:1px 5px;border-radius:8px;font-weight:700}.cal-empty{font-size:11.5px;color:#b7b4c9;font-style:italic;padding-top:4px}.cal-shift{background:#ece8fb;color:var(--purple-dark);border-radius:5px;padding:4px 8px;font-size:11px;font-weight:600;margin-bottom:6px;display:flex;flex-direction:column;gap:2px}.cal-shift-note{font-weight:400;color:var(--muted);font-size:10.5px}.cal-shift-people{display:flex;flex-wrap:wrap;gap:4px}.assignee-chip{display:inline-flex;gap:4px;background:#fff;border:1px solid #ddd8f5;color:var(--purple-dark);border-radius:10px;padding:1px 7px 1px 3px;font-size:10.5px}.assignee-chip,.assignee-chip .av{align-items:center;font-weight:700}.assignee-chip .av{width:14px;height:14px;border-radius:50%;background:var(--purple);color:#fff;font-size:8px;display:flex;justify-content:center;flex-shrink:0}.cal-event{background:#fff4e0;color:#b9791b;border-radius:5px;padding:5px 8px;font-size:11.5px;margin-bottom:6px;font-weight:600}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.cal-month-head{font-size:10.5px;font-weight:700;text-transform:uppercase;color:var(--muted);text-align:center;padding-bottom:4px}.cal-month-cell{background:#f7f7fb;border:1px solid var(--border);border-radius:8px;padding:6px;min-height:74px;cursor:pointer}.cal-month-cell:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}.cal-month-cell.other-month{opacity:.4}.cal-month-cell.today{border-color:var(--purple)}.cal-month-cell .dnum{font-size:12px;font-weight:700;margin-bottom:4px}.cal-month-dots{display:flex;gap:3px;flex-wrap:wrap}.cal-dot{width:7px;height:7px;border-radius:50%}.cal-dot.content{background:var(--blue)}.cal-dot.event{background:var(--amber)}.cal-dot.shift{background:var(--purple)}.day-detail-section{margin-bottom:16px}.day-detail-section h4{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0 0 8px}.day-detail-section h4 button{background:0 0;border:none;color:var(--purple-dark);font-weight:700;cursor:pointer;font-size:12px;padding:0}.empty{padding:20px}.blocked-view,.empty{color:var(--muted);font-size:13px;text-align:center}.blocked-view{padding:30px}.chat-layout{display:flex;gap:16px;height:calc(100vh - 150px)}.chat-channels{width:220px;flex-shrink:0;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px;overflow-y:auto}.chat-channel-item{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding:9px 10px;border-radius:6px;cursor:pointer;font-size:13px;margin-bottom:3px;font-weight:600}.chat-channel-item:hover{background:#f0eefa}.chat-channel-item.active{background:#ece8fb;color:var(--purple-dark)}.chat-channel-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis}.chat-channel-desc{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:2px}.chat-section-header{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:8px 10px 4px}.chat-unread-badge{font-size:10.5px;border-radius:10px;flex-shrink:0;min-width:16px;text-align:center}.chat-unread-badge,.nav-badge{background:var(--red);color:#fff;font-weight:700;padding:1px 6px}.nav-badge{font-size:10px;border-radius:9px;margin-left:auto}.chat-channel-actions{opacity:0;transition:opacity .1s;flex-shrink:0;display:flex;gap:6px;font-size:11px;padding-top:1px}.chat-channel-item:hover .chat-channel-actions{opacity:1}.chat-channel-actions a{color:var(--muted);text-decoration:none;cursor:pointer}.chat-channel-actions a:hover{color:var(--purple-dark)}.chat-main{flex:1 1;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;position:relative}.chat-messages{flex:1 1;overflow-y:auto;padding:16px 18px}.chat-msg{margin-bottom:14px}.chat-msg:hover .chat-msg-actions{opacity:1}.chat-msg-author{font-size:12.5px;font-weight:700;margin-right:6px}.chat-msg-ts{font-size:11px;color:var(--muted)}.chat-msg-actions{opacity:0;transition:opacity .1s;margin-left:8px;font-size:11px}.chat-msg-actions a{color:var(--muted);text-decoration:none;margin-right:8px;cursor:pointer}.chat-msg-actions a:hover{color:var(--purple-dark);text-decoration:underline}.chat-msg-body{font-size:13.5px;margin-top:3px;line-height:1.4}.chat-msg-body code{background:#f2f1fa;border-radius:4px;padding:1px 5px;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.mention{background:#ece8fb;color:var(--purple-dark);font-weight:600;border-radius:4px;padding:0 4px}.docs-layout{display:flex;gap:18px}.doc-list{width:230px;flex-shrink:0}.doc-item{padding:9px 10px;border-radius:6px;cursor:pointer;font-size:13px;margin-bottom:2px}.doc-item:hover{background:#f0eefa}.doc-item.active{background:#ece8fb;color:var(--purple-dark);font-weight:600}.doc-item .cat{display:block;font-size:10.5px;color:var(--muted);font-weight:400}.doc-cat-group{margin-bottom:10px}.doc-cat-header{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px}.doc-cat-group:first-child .doc-cat-header{padding-top:2px}.doc-cat-count{font-weight:400;text-transform:none;letter-spacing:0}.doc-pin{display:inline-block;margin-right:6px;cursor:pointer;opacity:.55;font-size:12px}.doc-pin.pinned,.doc-pin:hover{opacity:1}.doc-view{flex:1 1;background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px 26px;min-height:300px}.doc-view h2{margin-top:0}.doc-view .updated{font-size:11.5px;color:var(--muted);margin-bottom:16px}.doc-attachment{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--purple-dark);font-weight:600;text-decoration:none;background:#f0eefa;border-radius:6px;padding:5px 10px;margin-bottom:14px}.doc-attachment:hover{background:#ece8fb}.doc-view .doc-body,.doc-view li,.doc-view p{font-size:13.5px;line-height:1.6}.doc-view .doc-body{white-space:pre-wrap}.chat-scroll-bottom{position:absolute;left:50%;bottom:74px;transform:translateX(-50%);background:var(--purple);color:#fff;border:none;border-radius:16px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #0003}.chat-scroll-bottom:hover{background:var(--purple-dark)}.chat-composer{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--border)}.chat-composer input{flex:1 1}.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:32px;width:360px;box-shadow:0 10px 40px #0000000f}.login-card .brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px;margin-bottom:22px}.login-card .dot{width:10px;height:10px;border-radius:3px;background:var(--purple);display:inline-block}.login-card .field{margin-bottom:14px}.login-card .field input{width:100%}.login-card .btn{width:100%;padding:10px;font-size:14px}.login-error{background:#fdecea;color:var(--red);border-radius:6px;padding:8px 10px;font-size:12.5px;margin-bottom:14px}.login-hint{font-size:11.5px;color:var(--muted);margin-top:16px;line-height:1.5}@media (max-width:900px){.app{height:100vh}.sidebar{position:fixed;top:0;left:0;bottom:0;width:78vw;max-width:300px;z-index:100;transform:translate(-100%);transition:transform .22s ease;box-shadow:2px 0 24px #0003}.sidebar.open{transform:translate(0)}.sidebar .brand{padding:16px}.nav{padding:10px 8px}.sidebar-footer{padding:12px 16px}.hamburger-btn{display:inline-flex;align-items:center;justify-content:center}.sidebar-backdrop{position:fixed;inset:0;background:#140f2366;z-index:99}.sidebar-backdrop.show{display:block}.topbar{padding:0 14px;height:48px}.topbar h1{font-size:14.5px}.content{padding:14px 16px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}.modal{width:92vw;max-width:420px;padding:16px}table{display:block;overflow-x:auto}.board{flex-direction:column;overflow-x:visible;padding-bottom:10px}.col{min-width:100%;max-width:100%;max-height:none}.col-body{max-height:280px}.login-card{width:90vw;max-width:360px;padding:22px}.chat-layout{flex-direction:column;height:calc(100vh - 160px)}.chat-channels{width:100%;max-height:110px;overflow-x:auto;display:flex;gap:6px;align-items:flex-start;flex-shrink:0}.chat-channel-item{flex-shrink:0;white-space:nowrap}.chat-main{flex:1 1;height:auto;min-height:0}.chat-scroll-bottom{bottom:60px}.chat-messages{min-height:0}.docs-layout{flex-direction:column}.doc-list{width:100%;display:flex;overflow-x:auto;gap:6px;padding-bottom:4px}.doc-item{flex-shrink:0}.doc-cat-group{display:contents}.doc-cat-header{display:none}.doc-view{padding:16px 18px}.modal.wide{width:94vw;max-width:640px}.cal-grid{display:flex;overflow-x:auto;gap:8px;padding-bottom:6px}.cal-col{min-width:170px;flex-shrink:0}.cal-month-cell{min-height:52px;padding:4px}.cal-month-cell .dnum{font-size:11px}.automation-row,.cal-toolbar{flex-wrap:wrap}}@media (max-width:520px){.kpi-grid{grid-template-columns:1fr 1fr}.toolbar{gap:6px}}