:root{--ink: #1b2a4a;--ink-deep: #12203c;--marigold: #ee9b2e;--marigold-soft: #fdf3e2;--paper: #f5f6f9;--card: #ffffff;--line: #dde1ea;--slate: #5a6478;--ok-bg: #e8f5ec;--ok-text: #1e6b3a;--warn-bg: #fdecea;--warn-text: #9c2b1f;--radius: 12px;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.55}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;margin:0 0 12px}h1{font-size:clamp(30px,5vw,44px);line-height:1.12}h2{font-size:26px}h3{font-size:18px}.page{max-width:960px;margin:0 auto;padding:32px 20px 64px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--marigold);margin:0 0 8px}.muted{color:var(--slate)}.small{font-size:13px}.section-title{margin-bottom:20px}.app-layout{display:flex;min-height:100vh}.sidebar{width:228px;background:var(--ink);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--marigold);color:var(--ink-deep);font-family:var(--font-display);font-weight:700;font-size:15px;flex-shrink:0}.brand-name{font-weight:600;letter-spacing:.01em;font-size:14px}.sidebar-section-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff59;padding:16px 16px 4px}.sidebar-nav{flex:1;min-height:0;padding:8px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:#ffffffa6;text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,color .15s}.sidebar-link:hover{background:#ffffff12;color:#fff}.sidebar-link.active{background:var(--marigold);color:var(--ink-deep);font-weight:600}.sidebar-link svg{width:16px;height:16px;flex-shrink:0}.sidebar-footer{padding:8px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-logout{display:flex;align-items:center;gap:10px;width:100%;background:transparent;color:#ffffff8c;border:none;border-radius:8px;padding:9px 12px;font:500 14px var(--font-body);cursor:pointer;text-align:left;transition:background .15s,color .15s}.sidebar-logout svg{width:16px;height:16px;flex-shrink:0}.sidebar-logout:hover{background:#ffffff12;color:#fff}.main-content{margin-left:228px;flex:1;min-height:100vh}.solo-content{flex:1;min-height:100vh}.mobile-topbar{display:none}.hamburger{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#fff;cursor:pointer;padding:6px;border-radius:6px;flex-shrink:0;transition:background .15s}.hamburger:hover{background:#ffffff1a}.mobile-topbar-name{font-size:14px;font-weight:600;color:#fff}.brand-mark-sm{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:var(--marigold);color:var(--ink-deep);font-family:var(--font-display);font-weight:700;font-size:13px;flex-shrink:0}.sidebar-overlay{display:none}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius)}@media (max-width: 768px){.mobile-topbar{display:flex;align-items:center;gap:12px;position:fixed;top:0;left:0;right:0;width:100%;z-index:200;background:var(--ink);padding:0 16px;height:52px;box-shadow:0 1px 4px #0000002e}.sidebar{transform:translate(-100%);transition:transform .25s ease;box-shadow:4px 0 24px #00000038}.sidebar.sidebar-open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:99}.main-content{margin-left:0;padding-top:52px;overflow-x:auto}.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.feedback-grid,.stat-row{grid-template-columns:1fr}}.btn-primary{background:var(--ink);color:#fff;border:none;border-radius:10px;padding:12px 22px;font:600 15px var(--font-body);cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--ink-deep)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-large{padding:14px 30px;font-size:16px}.btn-ghost{background:transparent;color:inherit;border:1px solid currentColor;border-radius:8px;padding:6px 14px;font:500 13px var(--font-body);cursor:pointer;opacity:.85}.btn-ghost:hover{opacity:1}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.login-hero{max-width:620px;margin:10vh auto 0;text-align:left}.login-sub{color:var(--slate);font-size:16px;margin:0 0 26px}@media (max-width: 600px){.login-hero{margin-top:24px}.page{padding-top:20px;padding-bottom:40px}}.form-card{max-width:640px;margin:0 auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--slate)}.full-width{margin-bottom:20px}input,textarea{font:400 15px var(--font-body);color:var(--ink);padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}input:focus,textarea:focus{outline:2px solid var(--marigold);outline-offset:1px;border-color:var(--marigold)}.rating-block{margin:4px 0 20px}.rating-caption{display:block;font-size:13px;font-weight:600;color:var(--slate);margin-bottom:8px}.rating-word{color:var(--marigold);font-style:normal}.rating-chips{display:flex;gap:10px}.chip{width:52px;height:52px;border-radius:10px;border:1.5px solid var(--line);background:#fff;font:600 20px var(--font-display);color:var(--slate);cursor:pointer;transition:transform .1s,background .15s,color .15s,border-color .15s}.chip:hover{border-color:var(--marigold);color:var(--ink)}.chip-active{background:var(--marigold);border-color:var(--marigold);color:var(--ink-deep);transform:translateY(-2px)}.chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.notice{margin-top:18px;padding:12px 16px;border-radius:10px;font-size:14px}.notice-ok{background:var(--ok-bg);color:var(--ok-text)}.notice-warn{background:var(--warn-bg);color:var(--warn-text)}.notice code{background:#0000000f;padding:1px 5px;border-radius:4px}.feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.feedback-card{display:flex;flex-direction:column;gap:10px;padding:18px}.feedback-head{display:flex;align-items:center;gap:12px}.rating-badge{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;font:600 18px var(--font-display);color:#fff;background:var(--slate);flex-shrink:0}.rating-badge.r5,.rating-badge.r4{background:var(--ink)}.rating-badge.r3{background:var(--marigold);color:var(--ink-deep)}.rating-badge.r2,.rating-badge.r1{background:#b3402f}.feedback-comment{margin:0;color:var(--ink)}.feedback-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:10px;margin-top:auto}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.stat{text-align:center;padding:20px}.stat-number{display:block;font:600 36px var(--font-display);color:var(--ink)}.stat-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}.chart-card h3{margin-bottom:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px}.stat-card-value{display:block;font:700 36px var(--font-display);color:var(--ink);line-height:1;margin-bottom:6px}.stat-card-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}.report-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.report-table th{padding:11px 14px;text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);background:var(--paper);border-bottom:1px solid var(--line)}.report-table td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:14px}.report-table tr:last-child td{border-bottom:none}.avg-bar-wrap{display:flex;align-items:center;gap:8px}.avg-bar{height:6px;border-radius:3px;background:var(--marigold);transition:width .3s}.avg-bar-bg{flex:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
