:root { --work-bg:#f5f6f8; --work-surface:#fff; }
[data-bs-theme="dark"] { --work-bg:#171819; --work-surface:#222426; }
body { background:var(--work-bg); font-family:system-ui,-apple-system,"Segoe UI","Microsoft JhengHei",sans-serif; }
.workspace { max-width:1240px; }
.brand { font-size:1.15rem; font-weight:650; letter-spacing:.04em; }
nav a { text-decoration:none; color:var(--bs-secondary-color); }
nav a:hover { color:var(--bs-body-color); }
.surface { background:var(--work-surface); border:1px solid var(--bs-border-color); border-radius:8px; }
.login-panel { max-width:420px; margin-top:8vh; }
.btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.form-control,.form-select { min-height:44px; font-size:1rem; }
.form-check-input { width:1.2em; height:1.2em; }
.table th { font-weight:600; white-space:nowrap; background:var(--bs-tertiary-bg); }
.table td,.table th { padding:.75rem; vertical-align:middle; }
.prewrap { white-space:pre-wrap; overflow-wrap:anywhere; }
.followup-panel { position:sticky; top:1rem; max-height:calc(100vh - 7rem); overflow-y:auto; }
.save-bar { padding:1rem 0; }
.resize-grip { height:32px; display:flex; align-items:center; justify-content:center; touch-action:none; cursor:ns-resize; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
.resize-grip::before { content:""; width:56px; height:5px; border-radius:3px; background:var(--bs-secondary-color); opacity:.6; }
.btn-primary { --bs-btn-bg:#365b4c;--bs-btn-border-color:#365b4c;--bs-btn-hover-bg:#284839;--bs-btn-hover-border-color:#284839; }
[data-bs-theme="dark"] .btn-primary { --bs-btn-bg:#aecbbb;--bs-btn-color:#18241e;--bs-btn-border-color:#aecbbb;--bs-btn-hover-bg:#c4ddce;--bs-btn-hover-color:#18241e; }
@media(max-width:575px){.workspace{padding-left:16px;padding-right:16px}nav{font-size:.92rem}.table{min-width:620px}h1{font-size:1.3rem!important}}
@media(max-width:991px){.followup-panel{position:static;max-height:none;overflow:visible}}
.brand-logo { height:44px; width:auto; }
.login-brand { margin:0 0 1.5rem; line-height:1; }
.login-logo { display:block; width:100%; max-width:320px; height:auto; margin:0 auto; }
:root:not([data-bs-theme="dark"]) .logo-dark,[data-bs-theme="dark"] .logo-light { display:none; }
.hint-field { display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:.75rem; align-items:start; }
.hint-field > * { grid-column:1 / -1; }
.hint-field > .form-label { grid-row:1; grid-column:1; }
.hint-field > .duplicate-hint { grid-row:1; grid-column:2; }
.duplicate-hint { max-height:9.5rem; overflow-y:auto; overflow-wrap:anywhere; padding-top:.2rem; margin-bottom:.5rem; line-height:1.4; }
.duplicate-hint:empty { padding:0; margin:0; }
.hint-pill { position:fixed; top:calc(var(--hint-top,0px) + .5rem); left:var(--hint-left,50%); transform:translateX(-50%); z-index:1050; width:max-content; max-width:calc(100vw - 2rem); }
.purchased-projects { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem .375rem; }
.purchased-projects.compact { flex-wrap:nowrap; white-space:nowrap; font-size:.875rem; }
.purchased-projects { --purchased-color:#b02a37; }
[data-bs-theme="dark"] .purchased-projects { --purchased-color:var(--bs-danger-text-emphasis); }
.purchased-label { color:var(--purchased-color); font-weight:600; }
.purchased-projects .badge { color:var(--purchased-color); background:var(--bs-danger-bg-subtle); border:1px solid var(--bs-danger-border-subtle); font-weight:500; font-size:.85em; }
