.acc-shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 120px);background:var(--cream)}@media(max-width:900px){.acc-shell{grid-template-columns:1fr}}.acc-side{background:var(--paper);border-right:1px solid var(--rule);padding:32px 0}@media(max-width:900px){.acc-side{border-right:none;border-bottom:1px solid var(--rule);padding:16px 0}}.acc-side-section{padding:0 24px 16px;border-bottom:1px solid var(--rule-soft);margin-bottom:16px}.acc-side-section:last-child{border-bottom:none}.acc-side-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);font-weight:600;margin-bottom:10px}.acc-side-name{font-family:Newsreader,Georgia,serif;font-size:18px;font-weight:600;color:var(--ink)}.acc-side-email{font-size:12px;color:var(--ink-muted);margin-top:2px;word-break:break-all}.acc-nav{list-style:none;padding:0 16px}.acc-nav li{margin-bottom:2px}.acc-nav a{display:block;padding:10px 14px;font-size:14px;color:var(--ink-soft);border-radius:3px;transition:all .15s}.acc-nav a:hover{background:var(--cream-warm);color:var(--ink)}.acc-nav a.active{background:var(--ink);color:var(--cream);font-weight:500}.acc-nav-section{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);font-weight:600;padding:14px 14px 8px;margin-top:4px}.acc-logout{margin:16px 24px 0;padding-top:16px;border-top:1px solid var(--rule-soft)}.acc-logout button{background:none;border:none;color:var(--ink-soft);font-size:13px;cursor:pointer;padding:0}.acc-logout button:hover{color:var(--accent)}.acc-main{padding:48px 56px 80px;min-width:0;max-width:1200px}@media(max-width:900px){.acc-main{padding:24px 20px 48px}}.acc-page-head{padding-bottom:24px;border-bottom:1px solid var(--rule);margin-bottom:32px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}.acc-page-title{font-family:Newsreader,Georgia,serif;font-size:36px;font-weight:600;line-height:1.1;letter-spacing:-.02em;margin-bottom:6px}.acc-page-sub{font-size:15px;color:var(--ink-muted);line-height:1.5;max-width:640px}.acc-card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-2);padding:28px;margin-bottom:18px;transition:border-color var(--duration-base) var(--ease-out)}.acc-card:hover{border-color:#dcd6c4}.acc-card h3{font-family:Newsreader,Georgia,serif;font-size:18px;font-weight:600;margin-bottom:14px;letter-spacing:-.005em}.acc-empty{padding:56px 24px;text-align:center;background:var(--paper);border:1px dashed var(--rule);border-radius:var(--r-2);color:var(--ink-muted);font-size:14px}.acc-table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--rule);border-radius:4px;overflow:hidden;font-size:14px}.acc-table th{text-align:left;padding:12px 16px;background:var(--cream-warm);border-bottom:1px solid var(--rule);font-weight:500;color:var(--ink-muted);text-transform:uppercase;font-size:11px;letter-spacing:.06em}.acc-table td{padding:14px 16px;border-bottom:1px solid var(--rule-soft);vertical-align:top}.acc-table tr:last-child td{border-bottom:none}.acc-table tr:hover td{background:var(--cream-warm)}.acc-table a{color:var(--accent);font-weight:500}.pill{display:inline-block;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--rule)}.pill-pending{background:var(--cream-warm);color:var(--ink-muted)}.pill-paid{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.pill-assigned{background:#fff5e6;color:#a25b00;border-color:#f3d9a8}.pill-in_progress{background:#e6f0ff;color:#1f4d99;border-color:#b8d2f5}.pill-in_review{background:#f4e6ff;color:#5a2799;border-color:#d8c0f0}.pill-delivered,.pill-completed{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.pill-cancelled,.pill-refunded{background:#fef0ec;color:#a23b1f;border-color:#f5d4ca}.pill-approved{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.pill-rejected{background:#fef0ec;color:#a23b1f;border-color:#f5d4ca}.pill-pending_payment{background:#fff5e6;color:#a25b00;border-color:#f3d9a8}.pill-pending_spec_confirmation{background:#fcfaf6;color:#15a150;border-color:var(--accent-line)}.pill-pending_acceptance{background:#f4e6ff;color:#5a2799;border-color:#d8c0f0}.pill-in_revision{background:#fff7ed;color:#c97a1f;border-color:#f5d8a7}.pill-new{background:#fff5e6;color:#a25b00;border-color:#f3d9a8}.pill-reviewing{background:#e6f0ff;color:#1f4d99;border-color:#b8d2f5}.pill-quoted{background:#f4e6ff;color:#5a2799;border-color:#d8c0f0}.pill-accepted{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.pill-declined{background:#fef0ec;color:#a23b1f;border-color:#f5d4ca}.pill-archived{background:var(--cream-warm);color:var(--ink-muted)}.role-badge{display:inline-block;padding:2px 8px;border-radius:2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-left:6px}.role-badge-client{background:var(--rule-soft);color:var(--ink-soft)}.role-badge-researcher{background:var(--accent-soft);color:var(--accent)}.role-badge-concierge{background:#fff5e6;color:#a25b00}.role-badge-admin{background:var(--ink);color:var(--cream)}.auth-shell{min-height:calc(100vh - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:var(--cream);gap:24px}.auth-brand{display:inline-flex;align-items:center;gap:10px;font-family:Newsreader,Georgia,serif;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink);text-decoration:none}.auth-brand .logo-mark{width:14px;height:14px;background:var(--accent);border-radius:2px;transform:rotate(45deg);display:inline-block}.auth-brand:hover{color:var(--accent)}.auth-card{background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:40px;width:100%;max-width:440px}.auth-card h1{font-family:Newsreader,Georgia,serif;font-size:28px;font-weight:600;line-height:1.2;letter-spacing:-.01em;margin-bottom:8px}.auth-card .lede{font-size:14px;color:var(--ink-soft);margin-bottom:24px}.auth-card .form-field{margin-bottom:16px}.auth-card label{font-size:13px;font-weight:500;color:var(--ink);margin-bottom:6px;display:block}.auth-card input,.auth-card textarea{width:100%;padding:12px 14px;border:1px solid var(--rule);background:var(--cream);color:var(--ink);font-family:inherit;font-size:15px;border-radius:2px}.auth-card input:focus,.auth-card textarea:focus{outline:none;border-color:var(--accent)}.auth-card .btn-primary{width:100%;justify-content:center;margin-top:8px}.auth-card .auth-error{margin-top:14px;padding:10px 14px;background:#fef0ec;border:1px solid #f5d4ca;color:#a23b1f;font-size:13px;border-radius:3px}.auth-card .auth-success{margin-top:14px;padding:10px 14px;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent);font-size:13px;border-radius:3px}.auth-card .auth-foot{margin-top:24px;font-size:13px;color:var(--ink-muted);text-align:center}.auth-card .auth-foot a{color:var(--accent);border-bottom:1px solid var(--accent-line)}.msg-thread{background:var(--paper);border:1px solid var(--rule);border-radius:4px;padding:20px;max-height:520px;overflow-y:auto}.msg-row{padding:12px 14px;border-bottom:1px solid var(--rule-soft);display:flex;flex-direction:column;gap:4px}.msg-row:last-child{border-bottom:none}.msg-meta{font-size:11px;color:var(--ink-muted);display:flex;gap:8px;align-items:center}.msg-meta .role-badge{margin-left:0}.msg-body{font-size:14px;line-height:1.55;color:var(--ink);white-space:pre-wrap}.msg-self{background:var(--cream-warm);border-radius:3px;padding:10px 12px;margin:4px -4px}.msg-compose{margin-top:16px}.msg-compose textarea{width:100%;min-height:88px;padding:12px 14px;border:1px solid var(--rule);background:var(--paper);font-family:inherit;font-size:14px;border-radius:3px;resize:vertical}.msg-compose .row{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:12px;color:var(--ink-muted)}.acc-form{display:grid;gap:16px;max-width:640px}.acc-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:600px){.acc-form .row2{grid-template-columns:1fr}}.acc-form label{font-size:13px;font-weight:500;color:var(--ink);display:block;margin-bottom:6px}.acc-form input,.acc-form textarea,.acc-form select{width:100%;padding:10px 12px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font-family:inherit;font-size:14px;border-radius:2px}.acc-form textarea{min-height:120px;resize:vertical}.acc-form .actions{display:flex;gap:12px;margin-top:8px}.timeline-card{padding:24px 28px 12px}.timeline{list-style:none;padding:0;margin:8px 0 0;position:relative}.timeline:before{content:"";position:absolute;left:13px;top:14px;bottom:14px;width:1px;background:var(--rule)}.timeline-row{display:grid;grid-template-columns:28px 1fr auto;gap:16px;align-items:flex-start;padding:10px 0;position:relative}.timeline-row:hover .timeline-marker{border-color:var(--accent);color:var(--accent)}.timeline-marker{width:28px;height:28px;border-radius:50%;background:var(--paper);border:1px solid var(--rule);color:var(--ink-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out);z-index:1}.timeline-marker svg{width:14px;height:14px;stroke:currentColor;fill:none}.timeline-body{min-width:0;padding-top:4px}.timeline-title{font-size:14px;font-weight:500;color:var(--ink);line-height:1.4}.timeline-meta{font-size:12px;color:var(--ink-muted);margin-top:2px;line-height:1.5}.timeline-when{font-size:11px;color:var(--ink-muted);white-space:nowrap;padding-top:7px;font-family:IBM Plex Mono,monospace}@media(max-width:600px){.timeline-row{grid-template-columns:28px 1fr;gap:12px}.timeline-when{grid-column:2;padding-top:0;font-size:10px}}
