@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--bg:#080808;--panel:#12100f;--panel2:#181411;--line:#3a2d1f;--gold:#c6a15b;--gold2:#f1d58a;--champagne:#ead8aa;--muted:#a79f92;--text:#f7f0e4;--danger:#e36f62;--success:#9bd5a9}
*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(circle at 14% -8%,#302313 0,transparent 32%),radial-gradient(circle at 90% 18%,#1b150d 0,transparent 28%),var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.screen{min-height:100vh}.login-screen{display:grid;place-items:center;padding:22px}.login-card{width:min(440px,100%);padding:42px 34px;background:rgba(17,16,15,.96);border:1px solid var(--line);box-shadow:0 20px 80px #000;border-radius:18px}.login-logo{width:min(250px,72%);height:auto;display:block;margin:0 auto 18px;object-fit:contain}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700}.muted{color:var(--muted)}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:600;margin:8px 0 18px}.login-card h1{font-size:32px}.field{display:grid;gap:7px;margin:14px 0}.field span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.field input,.field select,.field textarea{width:100%;background:#0c0b0a;color:var(--text);border:1px solid #4b3d2b;border-radius:8px;padding:12px 13px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c6a15b18}.btn{border:1px solid var(--gold);background:linear-gradient(135deg,#c6a15b,#e6c979);color:#17120b;border-radius:8px;padding:11px 17px;font-weight:700;transition:.2s ease}.btn:hover{background:var(--gold2);transform:translateY(-1px)}.btn:disabled{opacity:.55}.btn.secondary{background:transparent;color:var(--gold2)}.btn.secondary:hover{background:#2b2117}.btn.danger{color:#fff;background:transparent;border-color:#8c3f39}.btn.small{padding:7px 11px;font-size:12px}.form-error{padding:11px 13px;border-radius:7px;font-size:13px;margin:12px 0;background:#36211d;border:1px solid #753e35;color:#ffc8b8}.tiny-copy{font-size:12px;margin-top:24px}.portal{display:grid;grid-template-columns:252px 1fr;min-height:100vh;position:relative;isolation:isolate}.flake-layer{position:fixed;inset:0;overflow:hidden;z-index:8;pointer-events:none}.gflake{position:absolute;top:-8vh;width:13px;height:5px;border-radius:50%;background:linear-gradient(90deg,#8a6730,#f4d57e,#9c7736);box-shadow:0 0 7px #d1aa5c77;opacity:.58;animation:flake-fall 19s linear infinite}@keyframes flake-fall{0%{transform:translate3d(0,-12vh,0) rotate(0)}50%{transform:translate3d(32px,52vh,0) rotate(210deg)}100%{transform:translate3d(-18px,112vh,0) rotate(430deg)}}.sidebar{background:rgba(12,11,10,.9);border-right:1px solid var(--line);padding:24px 14px;display:flex;flex-direction:column;position:relative;z-index:10}.sidebar-brand{padding:2px 10px 22px;border-bottom:1px solid #2a2118;margin-bottom:16px}.sidebar-logo{display:block;width:154px;height:auto;max-height:72px;object-fit:contain;object-position:left center;mix-blend-mode:normal}.hq-label{font-size:11px;text-transform:uppercase;letter-spacing:.23em;color:var(--champagne);margin-top:13px}.nav{display:grid;gap:3px}.nav button{border:0;background:transparent;color:#aaa094;text-align:left;padding:10px 12px;border-radius:7px;font-size:13px;display:flex;gap:11px;align-items:center}.nav button .nav-icon{width:18px;text-align:center;color:#8f7550;font-size:14px}.nav button.active,.nav button:hover{background:#241e17;color:var(--gold2)}.nav button.active{box-shadow:inset 2px 0 var(--gold)}.logout{margin-top:auto}.main{padding:34px clamp(20px,4vw,58px);max-width:1500px;width:100%;position:relative;z-index:2}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:28px}.topbar h1{font-size:36px;margin-top:5px}.user-chip{color:var(--muted);font-size:13px;text-align:right}.user-chip strong{color:var(--text);font-weight:600}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.stat,.card{background:linear-gradient(140deg,#181512ef,#100f0ee8);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 12px 35px #0002}.stat strong{display:block;font-family:'Playfair Display';font-size:34px;color:var(--gold2);margin-top:10px}.stat small{display:block;color:var(--muted);margin-top:6px}.two-col{display:grid;grid-template-columns:minmax(280px,1fr) minmax(400px,1.5fr);gap:18px}.card h2{font-size:23px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.table th,.table td{padding:13px 10px;border-bottom:1px solid #2a221b;white-space:nowrap}.table td{color:#ddd3c5}.empty{color:var(--muted);padding:18px 0}.user-hero{padding:32px;margin-bottom:20px;background:linear-gradient(130deg,#211b12,#12100e);border:1px solid var(--line);border-radius:13px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:14px}.section-heading h2{margin-bottom:0}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:20px}.quick-card{padding:16px;border:1px solid var(--line);border-radius:10px;background:#12100e}.quick-card b{display:block;color:var(--champagne);margin-bottom:5px}.quick-card span{font-size:12px;color:var(--muted);line-height:1.45}.kicker{color:var(--muted);font-size:13px;line-height:1.6}.pill{display:inline-block;padding:5px 9px;border-radius:20px;background:#292015;color:var(--gold2);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.pill.success{color:var(--success);background:#16251a}.divider{border:0;border-top:1px solid var(--line);margin:26px 0}.toast{position:fixed;right:22px;bottom:22px;z-index:50;max-width:360px;padding:13px 16px;border:1px solid var(--gold);border-radius:9px;background:#211b13;color:var(--champagne);box-shadow:0 10px 30px #0008}.toast.error{border-color:#8c3f39;color:#ffc8b8}.portal a{color:var(--gold2)}.crm-board{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px}.crm-column{min-height:350px;background:#0d0d0d;border:1px solid rgba(201,169,98,.18);border-radius:14px;padding:10px}.crm-column.is-over{border-color:var(--gold);background:#161410}.crm-column-head{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--champagne)}.crm-column-head small{color:var(--muted)}.crm-card{background:#171717;border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:12px;margin:8px 0;cursor:grab;box-shadow:0 5px 14px #0004}.crm-card:hover{border-color:#c6a15b}.crm-card-title{color:#f0e6ca;font-weight:600;margin-bottom:7px}.crm-meta{color:#8a8a8a;font-size:12px;line-height:1.55}.crm-empty{color:#777;font-size:12px;padding:22px 6px;text-align:center}.inline-select{background:#050505;color:#eee;border:1px solid rgba(255,255,255,.14);border-radius:7px;padding:6px;margin-top:8px;max-width:100%}.application-detail-card{margin-top:18px}.application-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid var(--line);padding-top:20px}.application-detail-grid>div{border:1px solid #2e251b;background:#12100e;padding:16px;border-radius:9px}.application-detail-grid p{color:#d9cfbf;font-size:13px;line-height:1.55;white-space:pre-wrap}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:5px;overflow:auto}.calendar-dow{color:var(--gold);font-size:11px;padding:7px;text-transform:uppercase}.calendar-cell{min-height:112px;background:#0c0c0c;border:1px solid rgba(255,255,255,.08);border-radius:9px;padding:6px}.calendar-cell.muted{opacity:.45}.day-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:var(--champagne);font-size:12px;margin-bottom:4px}.calendar-event{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;padding:3px 5px;border-radius:4px;margin:3px 0;background:#322715;border-left:3px solid var(--gold)}.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:20px;z-index:40}.modal-card{width:min(560px,100%);max-height:90vh;overflow:auto;background:#15120f;border:1px solid var(--line);border-radius:16px;padding:24px;position:relative}.modal-close{position:absolute;right:14px;top:10px;background:none;border:0;color:var(--muted);font-size:25px}
@media(max-width:1050px){.portal{grid-template-columns:220px 1fr}.sidebar{padding-left:10px;padding-right:10px}.main{padding-left:25px;padding-right:25px}.nav button{font-size:12px}.crm-board{grid-template-columns:repeat(5,220px)}}@media(max-width:850px){.portal{display:block}.sidebar{position:sticky;top:0;z-index:12;border-right:0;border-bottom:1px solid var(--line);padding:12px 15px;display:block}.sidebar-brand{display:flex;align-items:center;gap:15px;border:0;padding:0;margin:0}.sidebar-logo{width:120px;max-height:45px}.hq-label{margin:0;font-size:10px}.nav{display:flex;gap:5px;overflow-x:auto;margin:12px -2px 0;padding-bottom:3px}.nav button{white-space:nowrap;padding:9px 11px;font-size:12px}.nav button .nav-icon{display:none}.logout{position:absolute;right:15px;top:12px;margin:0;padding:6px 9px;font-size:11px}.main{padding:24px 15px}.grid,.two-col,.quick-grid,.application-detail-grid{grid-template-columns:1fr}.topbar h1{font-size:29px}.user-chip{font-size:11px}.topbar{margin-bottom:22px}}@media(max-width:520px){.login-card{padding:32px 22px}.topbar{display:block}.user-chip{text-align:left;margin-top:10px}.card,.stat{padding:16px}.table th,.table td{padding:11px 7px}.section-heading{display:block}.section-heading .btn{margin-top:12px}}
/* Artist portal: intentionally separate from HQ chrome. */
.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#c6a15b,#4d351b);color:#19130b;font-weight:700;flex:0 0 auto}.avatar-sm{width:30px;height:30px;font-size:11px}.avatar-lg{width:68px;height:68px;font-size:22px}.avatar-xl{width:96px;height:96px;font-size:28px}.user-chip{display:flex;align-items:center;gap:9px}.artist-portal{min-height:100vh;background:radial-gradient(circle at 10% -10%,#342718 0,transparent 30%),linear-gradient(145deg,#100e0c,#19120e 55%,#0b0b0b);color:var(--text)}.artist-header{max-width:1280px;margin:auto;padding:22px clamp(18px,4vw,58px);display:flex;align-items:center;gap:28px;border-bottom:1px solid #4a3722}.artist-brand{display:flex;align-items:center;gap:12px;color:var(--champagne);text-decoration:none;min-width:170px}.artist-brand img{width:105px;height:auto}.artist-brand span{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold)}.artist-tabs{display:flex;gap:4px;flex:1;justify-content:center}.artist-tabs button,.artist-bottom button{border:0;background:transparent;color:#b7a895;padding:10px 11px;border-radius:8px;font-size:12px;display:flex;gap:6px;align-items:center;white-space:nowrap}.artist-tabs button b,.artist-bottom b{font-size:15px;font-weight:500;color:#977446}.artist-tabs button.active,.artist-tabs button:hover{color:var(--gold2);background:#2a2015}.artist-account{display:flex;align-items:center;gap:8px;color:var(--champagne);font-size:12px;white-space:nowrap}.icon-btn{border:0;background:transparent;color:var(--gold);font-size:20px}.artist-main{max-width:1120px;margin:auto;padding:42px clamp(18px,4vw,58px) 70px}.artist-title{margin-bottom:25px}.artist-title h1{font-size:36px;margin:7px 0 0}.artist-welcome{display:flex;align-items:center;gap:20px;padding:27px 29px;background:linear-gradient(135deg,#2a2014,#17120f);border:1px solid #5a4326;border-radius:17px;margin-bottom:18px}.artist-welcome h2{margin:4px 0 7px}.artist-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}.artist-portal .stat{background:#18130e;border-color:#443320}.artist-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.portal-card{background:rgba(24,19,14,.9);border:1px solid #4a3722;border-radius:15px;padding:23px;box-shadow:0 12px 30px #0003}.portal-card h2{margin:5px 0 11px}.progress{height:9px;background:#332718;border-radius:20px;overflow:hidden;margin:17px 0 7px}.progress span{display:block;height:100%;background:linear-gradient(90deg,#a47a38,#f1d58a);border-radius:20px}.small-copy{font-size:12px}.big-percent{font:700 38px 'Playfair Display';color:var(--gold2)}.big-percent small{font:400 13px 'DM Sans';color:var(--muted)}.list-row,.event-card,.invoice-row,.milestone{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #32271d}.list-row:last-child,.milestone:last-child{border-bottom:0}.list-row>div,.event-card>div,.invoice-row>div{display:grid;gap:3px}.list-row small,.event-card p,.invoice-row small,.milestone small{display:block;color:var(--muted);font-size:12px}.date-chip{min-width:58px;text-align:center;padding:7px 4px;border:1px solid #71532c;border-radius:8px;color:var(--gold2);font-size:11px}.date-chip small{font-size:10px;color:var(--muted);display:block;margin-top:2px}.file-icon{width:40px;height:40px;border-radius:9px;background:#2b2116;color:var(--gold2);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.section-heading{align-items:center}.milestone-list{margin-top:5px}.milestone-check{color:var(--gold);font-size:25px;width:28px}.milestone.done .milestone-check{color:var(--success)}.milestone>div{flex:1;display:grid;gap:4px}.doc-list{display:grid;gap:12px}.document-card{border:1px solid #3e2e1d;border-radius:11px;padding:16px;background:#14100d}.document-head{display:flex;align-items:center;gap:11px}.document-head>div{flex:1}.document-head h3{font-family:'DM Sans';font-size:15px;margin:0 0 4px}.document-card p{font-size:13px;color:#cec1ae;line-height:1.5;white-space:pre-wrap}.review-form{border-top:1px solid #35281c;margin-top:12px;padding-top:10px}.review-form textarea,.message-compose textarea{width:100%;min-height:78px;resize:vertical;background:#0b0a09;color:var(--text);border:1px solid #554025;border-radius:8px;padding:10px;font:inherit}.review-form>div{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.file-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.file-card{display:grid;gap:9px;padding:17px;border:1px solid #4a3722;border-radius:11px;background:#15110d;color:var(--text);text-decoration:none}.file-card small{color:var(--muted)}.message-list{display:grid;gap:12px}.message{padding:15px;border:1px solid #4b3822;border-radius:11px;background:#15110d}.message.mine{border-color:#8b6833;background:#21180e}.message-meta{display:flex;justify-content:space-between;color:var(--gold2);font-size:12px}.message-meta small{color:var(--muted)}.message h3{font-family:'DM Sans';font-size:14px;margin:9px 0 4px}.message p{white-space:pre-wrap;color:#ded1bd;font-size:13px;line-height:1.5;margin:0}.message-compose{border-top:1px solid #3a2c1e;margin-top:20px;padding-top:10px}.invoice-list{display:grid}.invoice-row>div{flex:1}.invoice-row>strong{color:var(--champagne);white-space:nowrap}.event-list{display:grid;gap:0}.event-card{align-items:flex-start}.event-card h3{font-family:'DM Sans';font-size:15px;margin:0}.event-card p{margin:0;line-height:1.45}.empty-state{display:grid;gap:8px;padding:32px;text-align:center;color:var(--muted)}.empty-state b{color:var(--champagne)}.profile-hero{display:flex;align-items:center;gap:16px;border-bottom:1px solid #3c2d1e;padding-bottom:20px}.profile-hero>div{flex:1}.upload-label{position:relative;overflow:hidden}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.profile-form{max-width:550px;padding-top:10px}.artist-bottom{display:none}
.check-row{display:flex;align-items:center;gap:8px;margin:8px 0;color:#d7c8b3;font-size:13px}.check-row input{accent-color:var(--gold)}
@media(max-width:900px){.artist-header{gap:15px}.artist-tabs{justify-content:flex-start;overflow:auto}.artist-tabs button{padding:9px 7px}.artist-account span{display:none}.file-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.artist-header{padding:15px 16px;display:grid;grid-template-columns:1fr auto}.artist-brand{min-width:0}.artist-brand img{width:87px}.artist-tabs{grid-column:1/-1;order:3}.artist-tabs button{font-size:11px}.artist-tabs button b{display:none}.artist-title h1{font-size:30px}.artist-main{padding:28px 14px 85px}.artist-welcome{padding:20px;gap:13px}.artist-welcome .avatar-lg{width:52px;height:52px}.artist-stats,.artist-columns{grid-template-columns:1fr}.artist-stats .stat{padding:15px}.artist-stats .stat strong{font-size:27px}.portal-card{padding:17px}.file-grid{grid-template-columns:1fr}.invoice-row{flex-wrap:wrap}.invoice-row>strong{margin-left:auto}.artist-bottom{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:space-around;background:#110e0c;border-top:1px solid #4a3722;padding:6px 2px}.artist-bottom button{display:grid;gap:2px;justify-items:center;font-size:9px;padding:5px 4px}.artist-bottom button.active{color:var(--gold2)}}
/* Shared people picker and HQ month calendar. */
.calendar-card{padding:18px;overflow:auto}.calendar-month-title{font:600 22px 'Playfair Display';color:var(--champagne);margin:2px 0 14px}.calendar-grid{min-width:700px;overflow:visible}.calendar-cell{position:relative}.calendar-cell.today{border-color:var(--gold);box-shadow:inset 0 0 0 1px #c6a15b55}.calendar-cell.today .day-number{background:var(--gold);color:#17120b;font-weight:700}.calendar-events-card{margin-top:18px}.people-multiselect{position:relative;margin-top:5px}.people-select-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:#0c0b0a;color:var(--text);border:1px solid #4b3d2b;border-radius:8px;padding:12px 13px;text-align:left}.people-select-toggle:hover,.people-select-toggle[aria-expanded=true]{border-color:var(--gold);color:var(--gold2)}.people-select-panel{position:absolute;z-index:8;left:0;right:0;top:calc(100% + 5px);padding:10px;background:#17130f;border:1px solid var(--gold);border-radius:9px;box-shadow:0 14px 35px #000b}.people-select-hint{color:var(--muted);font-size:12px;margin:5px 0 9px}.people-options{display:grid;gap:3px;max-height:260px;overflow:auto}.people-option{display:flex;align-items:baseline;gap:6px;width:100%;padding:9px 10px;background:transparent;border:0;border-radius:6px;color:var(--text);text-align:left}.people-option:hover,.people-option.selected{background:#322715;color:var(--gold2)}.people-option.selected:before{content:'✓';color:var(--gold);font-weight:700}.people-option small{color:var(--muted)}.people-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.people-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:14px;background:#322715;border:1px solid #73582f;color:var(--gold2);font-size:12px}.people-chip button{border:0;background:transparent;color:var(--champagne);padding:0 1px;font-size:16px;line-height:1}.people-chip button:hover{color:#fff}
