:root{--bg:#f4f7f5;--surface:#fff;--surface-2:#e4efe8;--accent:#7eb59c;--accent-strong:#406b57;--accent-strong-hover:#345845;--text:#15462f;--text-dim:#666;--on-accent:#f4f7f5;--border:#dbe6e0;--border-strong:#c8d8cf;--radius:16px;--shadow:0 8px 28px rgba(21,70,47,.08);--shadow-lg:0 16px 44px rgba(21,70,47,.12);--maxw:1440px;--glass-border:var(--border);--cyan-400:var(--accent-strong)}*{box-sizing:border-box}body,html{padding:0;margin:0;width:100%;max-width:100%;overflow-x:hidden}html{text-size-adjust:100%}img{max-width:100%}.grid>*,.hero>*,.sections-grid>*{min-width:0}body{min-height:100vh;color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;line-height:1.55;background:var(--bg)}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0 0 .5em;font-weight:800;letter-spacing:-.01em;color:var(--text)}p{margin:0 0 1em;color:var(--text-dim)}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.muted{color:var(--text-dim)}.center{text-align:center}@media (max-width:560px){.container{padding:0 14px}h1{font-size:26px}h2{font-size:22px}.card{padding:18px}.order-meta,.order-title,p,td{overflow-wrap:anywhere}.order-row{flex-direction:column;align-items:stretch}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:12px;border:1px solid transparent;font-size:15px;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease,background .2s ease;color:var(--on-accent);background:var(--accent-strong);box-shadow:0 6px 18px rgba(64,107,87,.25)}.btn:hover{transform:translateY(-1px);background:var(--accent-strong-hover);box-shadow:0 10px 24px rgba(64,107,87,.32)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-ghost{background:var(--surface);border:1px solid var(--border-strong)}.btn-ghost,.btn-ghost:hover{color:var(--accent-strong);box-shadow:none}.btn-ghost:hover{background:var(--surface-2)}.btn-sm{padding:8px 15px;font-size:13px;border-radius:10px}.btn-danger{background:#d9534f;color:#fff;box-shadow:0 6px 18px rgba(217,83,79,.25)}.btn-danger:hover{background:#c44540}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--text)}.input,.select,.textarea{width:100%;padding:12px 14px;border-radius:11px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:15px;font-family:inherit;outline:none;transition:border .15s ease,box-shadow .15s ease}.input::placeholder,.textarea::placeholder{color:#9aa8a0}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(126,181,156,.25)}.textarea{resize:vertical;min-height:110px}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent;white-space:nowrap}.badge-open{background:#e5eef7;color:#2f6db0;border-color:#cfe0f1}.badge-assigned{background:#ece8f7;color:#6a5ac0;border-color:#ddd6f1}.badge-progress{background:#fbf1d9;color:#a9772a;border-color:#f1e2bf}.badge-paid{background:#dff0e6;color:#2f7d51;border-color:#c5e6d2}.badge-completed{background:#e7ece9;color:#4a5a52;border-color:#d6ded9}.badge-cancelled{background:#f8e3e2;color:#b0473f;border-color:#f0cdcb}.badge-role{background:var(--surface-2);color:var(--accent-strong);border-color:var(--border-strong)}.alert{padding:11px 15px;border-radius:11px;font-size:14px;margin-bottom:16px}.alert-error{background:#f8e3e2;border:1px solid #f0cdcb;color:#a5423b}.alert-info{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--accent-strong)}.grid{display:grid;grid-gap:18px;gap:18px}@media (min-width:720px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(244,247,245,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-inner{justify-content:space-between;gap:10px 16px;min-height:66px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.brand,.nav-inner{display:flex;align-items:center}.brand{gap:10px;font-weight:800;font-size:20px;color:var(--text);flex-shrink:0}.brand-logo{width:76px;height:76px;object-fit:contain;flex-shrink:0}@media (max-width:640px){.brand-logo{width:56px;height:56px}}.nav-links{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;justify-content:flex-end}.nav-name{font-size:14px}@media (max-width:640px){.brand span:last-child{font-size:17px}}.hamburger,.nav-menu-wrap{position:relative}.hamburger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;transition:background .15s ease}.hamburger:hover{background:var(--surface-2)}.hamburger-lines{display:inline-flex;flex-direction:column;gap:4px}.hamburger-lines span{display:block;width:22px;height:2.5px;border-radius:2px;background:var(--accent-strong)}.hamburger-dot{position:absolute;top:7px;right:7px;width:9px;height:9px;border-radius:50%;background:#d9534f;border:2px solid var(--surface)}.nav-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:min(260px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:14px;display:flex;flex-direction:column;gap:12px}.nav-dropdown-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--border)}.nav-dropdown-notif{display:flex;flex-wrap:wrap;gap:6px}.nav-dropdown-links{display:flex;flex-direction:column}.nav-dropdown-links a{padding:11px 10px;border-radius:10px;font-weight:600;color:var(--text);transition:background .12s ease}.nav-dropdown-links a:hover{background:var(--surface-2);color:var(--accent-strong)}.nav-dropdown-logout{width:100%}.order-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;border-radius:14px;background:var(--surface);border:1px solid var(--border);transition:box-shadow .15s ease,transform .12s ease,border-color .15s ease}.order-row:hover{box-shadow:var(--shadow);transform:translateY(-1px);border-color:var(--border-strong)}.order-title{font-weight:700;font-size:16px;margin-bottom:4px;color:var(--text)}.order-meta{font-size:13px;color:var(--text-dim)}.chat{display:flex;flex-direction:column;height:60vh;min-height:380px}.chat-log{flex:1 1;overflow-y:auto;padding:8px 4px;display:flex;flex-direction:column;gap:10px}.msg{max-width:78%;padding:10px 13px;border-radius:14px;font-size:14px;background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.msg-mine{align-self:flex-end;background:var(--accent);border-color:var(--accent);color:#103524}.msg-meta{display:block;font-size:11px;color:var(--text-dim);margin-bottom:3px}.msg-mine .msg-meta{color:#1e4534}.msg img{max-width:100%;border-radius:10px;margin-top:6px;display:block}.chat-form{display:flex;gap:8px;align-items:flex-end;margin-top:12px}.chat-form .input{flex:1 1 auto;min-width:0}@media (max-width:900px){.chat-form{flex-wrap:wrap}.chat-form .input{order:-1;flex:1 1 100%;width:100%;font-size:16px;padding:13px 14px}.chat-form .btn{flex:0 0 auto}.chat-form button[type=submit]{flex:1 1 auto}}.msg-system{align-self:center;max-width:90%;text-align:center;font-size:12px;color:var(--text-dim);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:999px;padding:5px 14px}.attach-hint{font-size:11px;color:var(--text-dim);margin-top:6px;padding-left:4px}.pdf-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);font-size:13px;font-weight:600}.pdf-chip:hover{border-color:var(--accent)}.pdf-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:6px;background:#d9534f;color:#fff;font-size:11px;font-weight:800;letter-spacing:.5px}.chat-acc{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.chat-acc-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;color:var(--text);transition:background .12s ease}.chat-acc-head:hover{background:var(--surface-2)}.chat-acc-head.has-unread{box-shadow:inset 3px 0 0 var(--accent)}.chat-acc-info{display:flex;flex-direction:column;min-width:0}.chat-acc-toggle{flex-shrink:0;font-size:13px;font-weight:700;color:var(--accent-strong);white-space:nowrap}.chat-acc-body{padding:0 18px 18px;border-top:1px solid var(--border)}.participants{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:10px}.participant-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text)}.participant-role{color:var(--text-dim);font-weight:500}.participant-row{display:flex;align-items:center;flex-wrap:nowrap;gap:8px}.participant-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-row .chip-sm{flex:0 0 auto;white-space:nowrap}.participant-action{flex:0 0 auto;margin-left:auto}.chip-sm{padding:3px 10px;font-size:12px;border-radius:999px}.role-short{display:none}@media (max-width:560px){.role-full{display:none}.role-short{display:inline}.participant-row .chip-sm{padding:2px 8px;font-size:11px}.participant-action{padding:6px 11px;font-size:12px}.participant-add .select{font-size:14px;padding:10px 12px}.participant-add .btn{padding:6px 11px;font-size:12px}}.row.participant-add{flex-wrap:nowrap}.participant-add .select{flex:1 1 auto;min-width:0}.participant-add .btn{flex:0 0 auto}.stack{flex-direction:column;gap:12px}.row,.stack{display:flex}.row{align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1 1}.divider{height:1px;background:var(--border);margin:18px 0}.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text)}.link{color:var(--accent-strong);font-weight:700}.link:hover{text-decoration:underline}.notif{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.notif-orders{background:var(--surface-2);color:var(--accent-strong);border:1px solid var(--border-strong)}.notif-unread{background:#f8e3e2;color:#b0473f;border:1px solid #f0cdcb}.table-wrap{overflow-x:auto;border-radius:14px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}table.db{width:100%;border-collapse:collapse;font-size:13px;min-width:880px;table-layout:fixed}table.db td,table.db th{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top;word-break:break-word;overflow-wrap:anywhere;color:var(--text)}table.db tbody tr:last-child td{border-bottom:none}table.db th{background:var(--surface-2);font-weight:700;color:var(--text-dim);white-space:nowrap}table.db td:first-child,table.db th:first-child{width:56px;white-space:nowrap}table.db td:nth-child(3),table.db th:nth-child(3){width:96px;white-space:nowrap}table.db td:nth-child(5),table.db th:nth-child(5){width:92px;white-space:nowrap}table.db td:nth-child(6),table.db th:nth-child(6){width:112px;white-space:nowrap}table.db td:nth-child(8),table.db th:nth-child(8){width:92px;white-space:nowrap}table.db td:nth-child(9),table.db th:nth-child(9){width:118px;white-space:nowrap;padding-right:22px}table.db tbody tr:hover{background:var(--surface-2)}table.db tbody tr.db-row{cursor:pointer}table.db a{color:var(--accent-strong);font-weight:700}table.db tr.row-unread{background:#eef5f1}.table-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.table-filters .input{width:auto;min-width:190px;padding:8px 12px}@media (max-width:560px){.table-filters .input{min-width:0;flex:1 1 100%}.table-filters .muted{margin-left:0!important}}.pill-count{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:600;color:var(--accent-strong);background:var(--surface-2);border:1px solid var(--border-strong)}.pill-count:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}.pill-count b{color:var(--text)}.unread-dot{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:8px;border-radius:999px;color:#fff;font-size:11px;font-weight:800}.unread-dot,.unread-dot-sm{background:#d9534f;vertical-align:middle}.unread-dot-sm{display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%}.order-row.has-unread{border-color:var(--accent);box-shadow:inset 0 0 0 1px rgba(126,181,156,.4)}.col-num{white-space:nowrap}.cost-hover{position:relative;cursor:help;border-bottom:1px dashed var(--accent-strong)}.cost-tip{position:absolute;left:0;bottom:125%;z-index:30;width:max-content;max-width:300px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);font-size:12px;color:var(--text);opacity:0;visibility:hidden;transition:opacity .15s ease}.cost-hover:hover .cost-tip{opacity:1;visibility:visible}@media (max-width:640px){.cost-tip{position:fixed;left:50%;right:auto;top:auto;bottom:24px;transform:translateX(-50%);width:calc(100vw - 32px);max-width:360px}}.th-sort{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.th-sort:hover{color:var(--text)}.th-active{color:var(--accent-strong)}.student-hover{border-bottom:1px dashed var(--accent-strong);cursor:help}.student-card{position:fixed;z-index:60;width:260px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);font-size:13px;color:var(--text);pointer-events:none}.student-card-name{font-weight:700;margin-bottom:6px}.student-card-row{line-height:1.7;word-break:break-all}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}.kpi-title{color:var(--text-dim);font-size:13px;font-weight:600}.kpi-value{font-size:30px;font-weight:800;color:var(--text);line-height:1.1;margin-top:4px}.kpi-sub{color:var(--text-dim);font-size:12px}.kpi-visitors{margin-top:8px;font-size:14px;font-weight:700;color:var(--accent-strong)}.chart-wrap{width:100%}.analytics-chart{width:100%;height:auto;display:block}.analytics-chart .bar-views{fill:var(--accent)}.analytics-chart .line-visitors{stroke:var(--accent-strong);stroke-width:2}.analytics-chart .ax-grid{stroke:var(--border);stroke-width:1}.analytics-chart .ax-label{fill:var(--text-dim);font-size:11px}.chart-legend{display:flex;gap:16px;margin-top:10px;font-size:12px;color:var(--text-dim)}.lg{display:inline-flex;align-items:center;gap:6px}.lg:before{content:"";width:12px;height:12px;display:inline-block;background:var(--accent);border-radius:3px}.lg-visitors:before{background:var(--accent-strong);border-radius:50%}.bar-row-head{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:4px}.bar-row-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row-num{white-space:nowrap;font-weight:700}.bar-track{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:999px}.funnel{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.funnel-step{flex:1 1;min-width:120px;background:var(--surface-2);border-radius:12px;padding:14px;text-align:center}.funnel-num{font-size:26px;font-weight:800;color:var(--text)}.funnel-label{font-size:13px;color:var(--text-dim);margin-top:2px}.funnel-arrow{display:flex;align-items:center;font-size:13px;font-weight:700;color:var(--accent-strong);white-space:nowrap}@media (max-width:640px){.kpi-grid{grid-template-columns:1fr}}.segment{display:flex;gap:6px;padding:5px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}.segment-btn{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 12px;border:none;border-radius:9px;background:transparent;color:var(--text-dim);font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap}.segment-btn:hover{color:var(--accent-strong)}.segment-btn.active{background:var(--accent-strong);color:var(--on-accent);box-shadow:0 4px 12px rgba(64,107,87,.28)}@media (max-width:640px){.segment-3{flex-direction:column}.segment-btn{font-size:13px;padding:11px 10px}}.hero{display:grid;grid-gap:32px;gap:32px;align-items:center;padding:56px 0 24px}@media (min-width:900px){.hero{grid-template-columns:1.1fr .9fr}}.hero h1{font-size:clamp(30px,5vw,50px);line-height:1.08}.hero-img{width:100%;height:auto;display:block;border-radius:20px;object-fit:cover;border:1px solid var(--border);box-shadow:var(--shadow)}.feature-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:7px}.section-title{font-size:clamp(22px,3vw,30px);margin-bottom:18px}.sections-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}@media (min-width:640px){.sections-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:900px){.sections-grid{grid-template-columns:repeat(4,1fr)}}.section-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;font-weight:600;color:var(--text);min-width:0;transition:box-shadow .15s ease,transform .12s ease,border-color .15s ease}.section-card span{min-width:0;overflow-wrap:anywhere}.section-card:hover{box-shadow:var(--shadow);transform:translateY(-1px);border-color:var(--border-strong)}.section-card-link{cursor:pointer}.section-card-link:hover{border-color:var(--accent)}.section-icon{width:44px;height:44px;object-fit:contain;flex-shrink:0}