/* Personal cabinet: the common shell shared by all dashboard sections. */
:root { --cabinet-gold:#c99d37; --cabinet-gold-dark:#ad8123; --cabinet-ink:#141414; --cabinet-muted:#6b7280; --cabinet-line:#dde1e6; --cabinet-surface:#fff; --cabinet-bg:#f5f6f8; }
body { background:var(--cabinet-bg); color:var(--cabinet-ink); }
.cabinet-shell { display:grid; grid-template-columns:260px minmax(0,1fr); min-height:calc(100vh - 82px); background:var(--cabinet-bg); }
.cabinet-sidebar { background:#f1f2f4; border-right:1px solid var(--cabinet-line); padding:44px 20px; }
.cabinet-sidebar__title { display:none; }
.cabinet-nav { display:grid; gap:8px; }
.cabinet-nav__item { display:flex; align-items:center; gap:14px; width:100%; padding:15px 12px; border:0; border-radius:8px; background:transparent; color:var(--cabinet-ink); text-align:left; font:500 17px/1.25 Arial,sans-serif; cursor:pointer; transition:.18s ease; }
.cabinet-nav__item span { width:22px; color:#707887; font-size:23px; text-align:center; }
.cabinet-nav__item:hover, .cabinet-nav__item.is-active { background:#fff; color:var(--cabinet-gold-dark); box-shadow:0 3px 12px rgba(28,35,45,.06); }
.cabinet-nav__item.is-active { box-shadow:inset -4px 0 0 var(--cabinet-gold),0 3px 12px rgba(28,35,45,.06); }
.cabinet-content { max-width:1200px; width:100%; margin:0 auto; padding:30px; }
.cabinet-section { animation:cabinet-fade .2s ease; }
.cabinet-page-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 24px; }
.cabinet-page-heading h1 { margin:0; font:700 30px/1.15 Arial,sans-serif; letter-spacing:-.6px; }
.cabinet-kicker { margin:0 0 5px; color:var(--cabinet-muted); font-size:13px; text-transform:uppercase; letter-spacing:.08em; }
.cabinet-heading-note { margin:0; color:var(--cabinet-muted); }
.cabinet-card { background:var(--cabinet-surface); border:1px solid var(--cabinet-line); border-radius:12px; box-shadow:0 1px 2px rgba(15,23,42,.04); padding:20px; }
.cabinet-card h2 { margin:0 0 18px; font:700 24px/1.2 Arial,sans-serif; }
.cabinet-card p { color:#31343b; line-height:1.5; }
.cabinet-card--wide { width:100%; }
.cabinet-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.cabinet-profile-grid .cabinet-card--wide { grid-column:1/-1; }
.cabinet-details { display:grid; gap:17px; margin:0; }
.cabinet-details--two { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:42px; }
.cabinet-details dt { margin:0 0 5px; color:#656b76; font-size:16px; font-weight:400; }
.cabinet-details dd { margin:0; font:600 19px/1.25 Arial,sans-serif; overflow-wrap:anywhere; }
.cabinet-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 17px; border:1px solid #222; border-radius:8px; background:#fff; color:#181818; font:500 16px/1 Arial,sans-serif; text-decoration:none; cursor:pointer; transition:.18s ease; }
.cabinet-button:hover { transform:translateY(-1px); color:#181818; }
.cabinet-button--gold { border-color:var(--cabinet-gold); background:linear-gradient(110deg,#d7aa3a,#bc8f2a); color:#fff; box-shadow:0 2px 5px rgba(161,116,18,.22); }
.cabinet-button--gold:hover { background:var(--cabinet-gold-dark); color:#fff; }
.cabinet-button--plain { background:#fff; }
.cabinet-button--full { width:100%; margin-top:15px; }
.cabinet-edit-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.cabinet-edit-form label { display:grid; gap:6px; color:#565d68; font-size:14px; }
.cabinet-edit-form input { min-width:0; width:100%; padding:10px 12px; border:1px solid #cbd0d6; border-radius:7px; background:#fff; font-size:16px; }
.cabinet-actions { display:flex; align-items:end; gap:10px; grid-column:1/-1; }
.cabinet-steps { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:8px; list-style:none; margin:8px 0 38px; padding:0; }
.cabinet-steps::before { position:absolute; top:22px; left:10%; right:10%; height:3px; background:#cfb06a; content:""; z-index:0; }
.cabinet-steps li { position:relative; z-index:1; display:grid; justify-items:center; gap:8px; text-align:center; }
.cabinet-steps b { display:grid; place-items:center; width:45px; height:45px; border:3px solid #c4a356; border-radius:50%; background:#fff; color:#5d6068; font-size:18px; }
.cabinet-steps .is-current b { border-color:#d0a332; background:linear-gradient(145deg,#ddb84e,#bc8a20); color:#fff; box-shadow:0 0 0 5px #f5e6bb; }
.cabinet-steps strong { font-size:15px; line-height:1.15; }
.cabinet-steps span { max-width:150px; color:#4d535e; font-size:12px; line-height:1.25; }
.cabinet-steps--four { grid-template-columns:repeat(4,1fr); margin-bottom:30px; }
.cabinet-submit-card { max-width:800px; margin:auto; }
.cabinet-downloads { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0; }
.cabinet-dropzone { display:grid; place-items:center; gap:9px; min-height:170px; padding:22px; border:1px dashed #b9bec7; border-radius:9px; background:#fbfcfd; color:#242934; text-align:center; cursor:pointer; }
.cabinet-dropzone:hover { border-color:var(--cabinet-gold); background:#fffdf8; }
.cabinet-dropzone input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.cabinet-dropzone__icon { color:#69717e; font-size:42px; }
.cabinet-dropzone em { color:var(--cabinet-muted); font-size:13px; font-style:normal; }
.cabinet-file-button { padding:9px 14px; border-radius:7px; background:#fff; border:1px solid #b6bbc3; font-size:14px; }
.cabinet-dropzone--small { min-height:124px; }
.cabinet-selected-file { margin:9px 0 0; color:var(--cabinet-muted); text-align:center; font-size:14px; }
.cabinet-table-wrap { padding:0; overflow:auto; }
.cabinet-table { width:100%; min-width:700px; border-collapse:collapse; }
.cabinet-table th,.cabinet-table td { padding:16px 19px; border-bottom:1px solid var(--cabinet-line); text-align:left; }
.cabinet-table th { font-size:14px; font-weight:600; color:#373b43; }
.cabinet-table tr:last-child td { border-bottom:0; }
.cabinet-status { display:inline-flex; padding:5px 10px; border-radius:999px; background:#e3e8ed; color:#36414d; font-size:13px; white-space:nowrap; }
.cabinet-status--approved { background:#d9f0df; color:#1e7439; }
.cabinet-empty { display:grid; place-items:center; gap:10px; min-height:260px; text-align:center; }
.cabinet-empty h2 { margin:0; }
.cabinet-empty p { margin:0; }
.cabinet-empty__icon { color:#c9b27b; font-size:60px; }
.cabinet-questionnaire { padding:20px; }
.cabinet-questionnaire__grid { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:28px; align-items:start; }
.cabinet-questionnaire__grid h2 { font-size:20px; }
.cabinet-questionnaire__grid p { font-size:14px; }
.cabinet-document-form { display:grid; gap:17px; }
.cabinet-document-list { display:grid; gap:10px; }
.cabinet-document-row { display:grid; grid-template-columns:minmax(250px,1fr) minmax(320px,1.3fr); align-items:center; gap:16px; padding:10px 12px; border:1px solid #8f959e; border-radius:9px; background:#fff; }
.cabinet-document-row__name { display:flex; align-items:center; gap:12px; font-size:17px; }
.cabinet-document-row__name span { display:grid; place-items:center; width:32px; height:32px; border-radius:7px; background:#eef0f2; font-size:21px; }
.cabinet-document-row__upload,.cabinet-document-row__state { display:flex; align-items:center; gap:9px; min-width:0; padding:7px 10px; border:1px solid #a9afb7; border-radius:7px; background:#fafafa; }
.cabinet-document-row__upload { cursor:pointer; }
.cabinet-document-row__upload span { padding:4px 8px; border:1px solid #8e949b; border-radius:4px; background:#fff; white-space:nowrap; }
.cabinet-document-row__upload input { position:absolute; width:1px; height:1px; opacity:0; }
.cabinet-document-row__upload em,.cabinet-document-row__state small { min-width:0; overflow:hidden; color:#444b55; font-size:14px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.cabinet-document-row__state input { display:none; }
.cabinet-toast-container { position:fixed; z-index:9999; bottom:20px; left:20px; }
.cabinet-toast { margin-top:8px; padding:12px 16px; border-radius:8px; background:#20242b; color:#fff; box-shadow:0 8px 20px rgba(0,0,0,.18); }
@keyframes cabinet-fade { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@media (max-width:900px) { .cabinet-shell { grid-template-columns:1fr; } .cabinet-sidebar { padding:12px; border-right:0; border-bottom:1px solid var(--cabinet-line); } .cabinet-nav { grid-template-columns:repeat(5,minmax(125px,1fr)); overflow:auto; } .cabinet-nav__item { justify-content:center; font-size:14px; white-space:nowrap; } .cabinet-nav__item.is-active { box-shadow:inset 0 -3px 0 var(--cabinet-gold); } .cabinet-nav__item span { display:none; } .cabinet-content { padding:22px 16px; } .cabinet-questionnaire__grid { grid-template-columns:1fr; } }
@media (max-width:620px) { .cabinet-page-heading { align-items:flex-start; flex-direction:column; } .cabinet-profile-grid,.cabinet-details--two,.cabinet-edit-form { grid-template-columns:1fr; } .cabinet-steps { grid-template-columns:1fr; margin-left:18px; } .cabinet-steps::before { top:10%; bottom:10%; left:21px; right:auto; width:3px; height:auto; } .cabinet-steps li { grid-template-columns:45px 1fr; justify-items:start; text-align:left; } .cabinet-steps strong,.cabinet-steps span { grid-column:2; } .cabinet-steps span { margin-top:-8px; } .cabinet-document-row { grid-template-columns:1fr; } .cabinet-document-row__upload,.cabinet-document-row__state { width:100%; } }
