
/* DocuIQ V2 — Corporate AI workspace design system */
:root{
  --ink:#14213d;--ink-2:#243451;--muted:#71809a;--line:#e6ebf3;
  --canvas:#f5f7fb;--surface:#fff;--brand:#5146e5;--brand-2:#756cf6;
  --brand-soft:#efefff;--cyan:#0ea5b7;--green:#0f9f75;--amber:#c17a18;
  --red:#d34d62;--shadow:0 12px 34px rgba(25,42,75,.055);
  --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.top{
  position:sticky;top:0;z-index:50;min-height:76px;padding:0 clamp(20px,4vw,64px);
  display:flex;align-items:center;gap:26px;background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(224,231,242,.9);backdrop-filter:blur(16px);
  box-shadow:0 3px 16px rgba(20,33,61,.025)
}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;text-decoration:none;color:var(--ink);font-size:20px;font-weight:820;letter-spacing:-.65px;white-space:nowrap}
.brand b{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(140deg,#6258f4,#4338ca);color:#fff;font-size:20px;box-shadow:0 5px 12px #5146e533}
.brand small{font-size:10px;font-weight:800;letter-spacing:1.1px;color:var(--brand);background:var(--brand-soft);padding:3px 6px;border-radius:5px}
.main-nav{display:flex;align-items:center;gap:5px}
.main-nav a{position:relative;padding:10px 12px;border-radius:9px;text-decoration:none;color:#65728a;font-size:13px;font-weight:650;transition:.18s}
.main-nav a:hover,.main-nav a:focus{background:#f3f4ff;color:var(--brand)}
.user-name{font-size:12px;font-weight:650;color:#60708a;padding-left:14px;border-left:1px solid var(--line);white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:10px 15px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:.18s}
.btn.light{background:#fff;border-color:#dfe5ef;color:#40506b}
.btn.light:hover{border-color:#b9b7fa;color:var(--brand);background:#fbfbff}
.wrap{width:min(1280px,100% - 56px);min-height:calc(100vh - 150px);margin:0 auto;padding:38px 0 64px}
h1,h2,h3,h4{color:var(--ink);letter-spacing:-.55px}
h1{font-size:clamp(27px,3vw,35px);line-height:1.18;font-weight:780;margin:4px 0 10px}
h2{font-size:20px;font-weight:750}
h3{font-size:16px;font-weight:730}
p{margin-top:0}
.muted{color:var(--muted);font-size:14px}
.eyebrow{font-size:10px;font-weight:850;letter-spacing:1.5px;color:var(--brand);margin:0 0 8px}
.heading,.module-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 27px}
.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #e3e5ff;background:var(--brand-soft);color:#4b43c8;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:750}
.card,.stat,.module-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card{padding:25px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.stat{position:relative;overflow:hidden;padding:22px 24px}
.stat:after{content:"";position:absolute;width:95px;height:95px;right:-35px;top:-40px;border-radius:50%;background:linear-gradient(135deg,#f1f0ff,#f7f8ff)}
.stat span,.stat small{display:block;color:var(--muted);font-size:12px;font-weight:600}
.stat strong{position:relative;z-index:1;display:block;font-size:34px;line-height:1.2;letter-spacing:-1.2px;margin:9px 0 7px;color:var(--ink)}
.intro{padding:27px 29px;margin-top:20px}
input,textarea,select{font:inherit;color:var(--ink)}
input,textarea,select{border:1px solid #dce3ee;border-radius:10px;background:#fff;padding:11px 13px;transition:border .15s,box-shadow .15s}
input:focus,textarea:focus,select:focus{outline:none;border-color:#8b85f4;box-shadow:0 0 0 3px #5146e51a}
label{display:block;font-size:12px;font-weight:750;color:#3e4c65;margin:16px 0 7px}
button{font:inherit}
.primary{background:linear-gradient(135deg,var(--brand),#6258ef);color:white}
footer{padding:24px;text-align:center;color:#9aa5b8;font-size:11px}
.auth{min-height:72vh;display:grid;place-items:center}
.auth .card{width:min(100%,460px);padding:34px}
.auth .card form{margin-top:22px}
.primary-link{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),#6258ef);color:#fff;border:0;border-radius:10px;padding:11px 17px;text-decoration:none;font-weight:750;box-shadow:0 5px 13px #5146e526;transition:.18s}
.primary-link:hover{transform:translateY(-1px);box-shadow:0 8px 18px #5146e533}
.secondary-link{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#42516b;border:1px solid #dfe5ef;border-radius:10px;padding:10px 15px;text-decoration:none;font-weight:700}
.error{padding:12px 14px;border-radius:10px;background:#fff1f3;color:#b72f4b;border:1px solid #ffe0e5}
.warning{padding:12px 14px;border-radius:10px;background:#fff8e9;color:#98600e;border:1px solid #f8e7c2}
.small{font-size:12px;color:var(--muted)}
/* Module-level common styles */
.module-head{align-items:flex-end}
.module-head .muted{margin:0}
.module-card{padding:24px}
.table-card{padding:19px 22px}
.table-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.table-tools strong{font-size:13px;color:#35445e}
.table-tools input{width:min(360px,100%);background:#fbfcff}
.table-scroll{width:100%;overflow:auto;border-radius:10px}
table{width:100%;border-collapse:separate;border-spacing:0;min-width:740px}
th{padding:13px 14px;text-align:left;background:#f7f8fc;color:#77849a;font-size:10px;font-weight:850;letter-spacing:.8px;text-transform:uppercase;border-top:1px solid #edf0f5;border-bottom:1px solid #e9edf4}
th:first-child{border-radius:9px 0 0 0}th:last-child{border-radius:0 9px 0 0}
td{padding:14px;text-align:left;color:#46546c;font-size:12px;border-bottom:1px solid #edf0f5;vertical-align:middle}
tbody tr:hover td{background:#fbfcff}
td strong{color:#263550;font-size:13px}
td small{display:block;color:#98a3b5;font-size:10px;margin-top:3px}
.empty{text-align:center!important;color:#9aa5b8!important;padding:42px!important}
.module-alert{padding:12px 15px;border-radius:10px;margin:0 0 17px;font-size:12px;font-weight:600}
.module-alert.success{background:#ecfdf5;color:#087b5a;border:1px solid #c9f1e2}
.module-alert.error{background:#fff1f3;color:#b72f4b;border:1px solid #ffe0e5}
.state{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:99px;font-size:10px;font-weight:800}
.state:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.state-pending{background:#fff5e8;color:#b86b12}.state-approved{background:#eafaf3;color:#07815b}
.state-rejected{background:#fff0f2;color:#c23c55}.state-draft,.state-archived{background:#f0f3f7;color:#64748b}
.table-link{color:#5146d9;text-decoration:none;font-weight:750;font-size:12px}
.table-link:hover{text-decoration:underline}
.form-card{max-width:900px}
.form-card label{margin:18px 0 7px}
.form-card input,.form-card textarea,.form-card select{width:100%;padding:12px 13px}
.form-card textarea{resize:vertical;min-height:95px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hint{font-size:11px;color:#8491a6;margin:10px 0 18px}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:5px 0 24px;border-bottom:1px solid var(--line)}
.detail-label{display:block;color:#8a96a9;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;margin-bottom:6px}
.detail-grid strong{font-size:13px;color:#35445e}
.detail-card h3{margin:25px 0 10px}
.current{font-size:9px;font-weight:800;color:#087b5a;background:#eafaf3;border-radius:20px;padding:4px 7px}
.review-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.review-form input{min-width:135px;max-width:190px;padding:8px 10px;font-size:11px}
.mini-btn{border:0;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}
.approve{background:#e8f8f0;color:#087b5a}.changes{background:#fff6e5;color:#9a650d}.reject{background:#fff0f2;color:#b72f4b}
.module-grid{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.5fr);gap:18px}
.module-grid h2{font-size:17px;margin:0 0 15px}
@media(max-width:1000px){.top{padding:12px 22px;gap:12px}.main-nav{order:3;width:100%;justify-content:center;border-top:1px solid #f0f2f6;padding-top:7px}.top{flex-wrap:wrap}.brand{margin-right:auto}.wrap{width:calc(100% - 40px);padding-top:30px}}
@media(max-width:760px){.stats{grid-template-columns:1fr}.module-head,.heading{align-items:flex-start;flex-direction:column}.form-grid,.detail-grid,.module-grid{grid-template-columns:1fr}.table-tools{align-items:stretch;flex-direction:column}.table-tools input{width:100%}.review-form{display:grid;grid-template-columns:1fr 1fr}.review-form input{grid-column:1/-1;max-width:none}.wrap{width:calc(100% - 28px);padding-top:24px}.module-card{padding:17px}.top{padding:10px 14px}.main-nav{justify-content:flex-start;overflow-x:auto;white-space:nowrap}.main-nav a{padding:8px 9px}.user-name{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
