
:root{--bg:#f4f7fb;--surface:#fff;--surface2:#f8fafc;--text:#162033;--muted:#758095;--line:#e4e9f1;--primary:#2563eb;--primary2:#eaf1ff;--open:#2563eb;--confirm:#e58a00;--done:#159765;--danger:#dc3545;--shadow:0 8px 28px rgba(23,32,51,.06)}
[data-theme="dark"]{--bg:#0f1420;--surface:#171e2c;--surface2:#202838;--text:#edf2fb;--muted:#98a5ba;--line:#2b3548;--primary:#6b9cff;--primary2:#1d2b49;--open:#6b9cff;--confirm:#ffb547;--done:#4fd19a;--danger:#ff6b78;--shadow:0 10px 30px rgba(0,0,0,.22)}
*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.top{height:66px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px}.mark{width:36px;height:36px;border-radius:11px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:900}.brand b{display:block}.brand small{color:var(--muted);font-size:9px;letter-spacing:1px}.userbox{display:flex;align-items:center;gap:10px}.role{font-size:11px;color:var(--primary);background:var(--primary2);padding:5px 8px;border-radius:8px;font-weight:800}.layout{max-width:1180px;margin:auto;display:grid;grid-template-columns:210px 1fr;gap:28px;padding:28px 20px 100px}.side{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px;height:max-content;position:sticky;top:94px}.navbtn{width:100%;border:0;background:transparent;color:var(--muted);padding:11px 12px;text-align:left;border-radius:10px;margin:2px 0;font-weight:700}.navbtn.active,.navbtn:hover{background:var(--primary2);color:var(--primary)}.main h1{font-size:27px;margin:0}.sub{color:var(--muted);margin:7px 0 24px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.metric,.card{background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.metric{padding:18px}.metric small{color:var(--muted)}.metric strong{font-size:30px;display:block;margin-top:8px}.card{padding:18px;margin-top:14px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:28px 0 10px}.sectionhead h2{font-size:17px;margin:0}.link{border:0;background:transparent;color:var(--primary);font-weight:800}.request{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.request:last-child{border-bottom:0}.badge{font-size:11px;font-weight:900;padding:6px 8px;border-radius:8px;width:max-content}.b-open{color:var(--open);background:var(--primary2)}.b-confirm{color:var(--confirm);background:color-mix(in srgb,var(--confirm) 12%,transparent)}.b-done{color:var(--done);background:color-mix(in srgb,var(--done) 12%,transparent)}.request b{display:block}.request small,.meta{color:var(--muted)}.fab{position:fixed;right:28px;bottom:28px;border:0;border-radius:28px;background:var(--primary);color:#fff;padding:15px 21px;font-weight:900;box-shadow:0 10px 25px color-mix(in srgb,var(--primary) 35%,transparent)}.tabs{display:flex;gap:7px;margin-bottom:15px}.tab{border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:9px 13px;border-radius:10px}.tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.input,.select,.textarea{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:11px;padding:11px 12px;outline:0}.input{min-width:260px}.textarea{width:100%;min-height:150px;resize:vertical}.select{min-width:120px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:13px}.table th{color:var(--muted);font-size:11px}.typegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.typecard{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:16px;padding:20px;text-align:left}.typecard:hover{border-color:var(--primary)}.typecard b{display:block;font-size:16px;margin-bottom:6px}.typecard small{color:var(--muted)}.formrow{margin:15px 0}.formrow label{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.full{width:100%}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.primary,.secondary,.danger{border:0;border-radius:11px;padding:11px 16px;font-weight:800}.primary{background:var(--primary);color:#fff}.secondary{background:var(--surface2);color:var(--text);border:1px solid var(--line)}.danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.timeline{border-left:2px solid var(--line);margin:14px 0 0 7px;padding-left:18px}.event{position:relative;margin:0 0 20px}.event:before{content:"";position:absolute;left:-24px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--primary)}.event small{color:var(--muted)}.setting{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.setting:last-child{border:0}.themechoices{display:flex;gap:6px}.themechoices button{border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:9px;padding:8px 10px}.themechoices button.active{border-color:var(--primary);color:var(--primary)}.loginwrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login{width:min(440px,100%);background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}.login .brand{margin-bottom:28px}.login h1{margin:0 0 6px}.demo{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.demo small{color:var(--muted)}.demoBtns{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.demoBtns button{border:1px solid var(--line);background:var(--surface2);color:var(--text);border-radius:9px;padding:9px 5px;font-size:11px}.mobileNav{display:none}
@media(max-width:760px){.top{padding:0 16px}.userbox .role{display:none}.layout{display:block;padding:20px 14px 100px}.side{display:none}.grid{grid-template-columns:repeat(2,1fr)}.grid .metric:last-child{grid-column:1/-1}.request{grid-template-columns:80px 1fr}.request>small{display:none}.typegrid{grid-template-columns:1fr}.input{min-width:0;width:100%}.toolbar .select{flex:1;min-width:105px}.tablewrap{overflow:auto}.table{min-width:700px}.fab{right:50%;transform:translateX(50%);bottom:66px}.mobileNav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);z-index:19;padding-bottom:env(safe-area-inset-bottom)}.mobileNav button{border:0;background:transparent;color:var(--muted);padding:12px 4px;font-size:11px}.mobileNav button.active{color:var(--primary);font-weight:900}.main h1{font-size:23px}}

/* V2 block editor */
.editorhint{margin:-2px 0 10px}.blockeditor{display:flex;flex-direction:column;gap:10px}.editorblock{border:1px solid var(--line);border-radius:14px;background:var(--surface2);padding:10px}.textblock .textarea{min-height:110px;background:var(--surface);border:0}.blocktext:focus{box-shadow:0 0 0 2px var(--primary2)}.attachblock{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.preview{grid-column:1/-1;width:100%;max-height:360px;object-fit:contain;border-radius:10px;background:var(--surface)}.attachname{display:flex;gap:9px;align-items:center;min-width:0}.attachname span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.blocktools{display:flex;gap:5px;justify-content:flex-end;margin-top:7px}.attachblock .blocktools{margin:0}.blocktools button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;padding:6px 9px}.editoradd{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.filelabel{cursor:pointer;display:inline-block}.filelabel input{display:none}.slackpreview{margin-top:18px;border:1px dashed var(--line);background:var(--surface2);border-radius:13px;padding:14px;display:grid;gap:5px}.slackpreview small{color:var(--muted);font-weight:900}.slackpreview span,.slackpreview div{font-size:12px;color:var(--muted)}.camera{display:none}
@media(max-width:760px){.editoradd{display:grid;grid-template-columns:1fr 1fr}.editoradd .secondary:first-child{grid-column:1/-1}.filelabel{text-align:center}.camera{display:block}.attachblock{grid-template-columns:1fr}.attachblock .blocktools{justify-content:stretch}.blocktools button{flex:1;padding:9px}.preview{max-height:300px}.editorhint{font-size:11px}}


/* ============================================================
   SMARTDOCTOR THEME SYSTEM
   Source-aligned theme palette
   ============================================================ */

:root,
html[data-theme="light"] {
  color-scheme:light;

  --theme-page:#f8f7fc;
  --theme-page-top:#fbfaff;
  --theme-page-bottom:#f7f5fb;
  --theme-glow:#ddd2ff;

  --theme-surface:#fff;
  --theme-surface-soft:#faf8fd;
  --theme-surface-strong:#fff;
  --theme-surface-hover:#f6f3ff;

  --theme-text:#171524;
  --theme-text-2:#4f4a5d;
  --theme-muted:#777286;

  --theme-line:#ebe7f2;
  --theme-line-strong:#ded8e9;

  --theme-accent:#7146ef;
  --theme-accent-2:#8a67f5;
  --theme-accent-3:#bba9fa;
  --theme-accent-soft:#f1edff;

  --theme-success:#21a67a;
  --theme-success-soft:#e8f7f1;
  --theme-danger:#ef625b;
  --theme-danger-soft:#fff0ef;
  --theme-warning:#f2994a;
  --theme-warning-soft:#fff4e9;

  --theme-shadow:0 14px 40px rgba(48,31,91,.07);
}

html[data-theme="dark"] {
  color-scheme:dark;
  --theme-page:#121217;
  --theme-page-top:#15151c;
  --theme-page-bottom:#101015;
  --theme-glow:#332859;
  --theme-surface:#1c1c24;
  --theme-surface-soft:#252530;
  --theme-surface-strong:#22222c;
  --theme-surface-hover:#292936;
  --theme-text:#f3f1f7;
  --theme-text-2:#d0ccd9;
  --theme-muted:#9e99aa;
  --theme-line:#33323e;
  --theme-line-strong:#44424f;
  --theme-accent:#9b7bff;
  --theme-accent-2:#b29aff;
  --theme-accent-3:#cabaff;
  --theme-accent-soft:#30284c;
  --theme-success:#4cc89e;
  --theme-success-soft:#203b34;
  --theme-danger:#ff7770;
  --theme-danger-soft:#412729;
  --theme-warning:#f5a65d;
  --theme-warning-soft:#402f21;
  --theme-shadow:0 16px 42px rgba(0,0,0,.26);
}

html[data-theme="midnight"] {
  color-scheme:dark;
  --theme-page:#0d1624;
  --theme-page-top:#101c2d;
  --theme-page-bottom:#0b1320;
  --theme-glow:#173e67;
  --theme-surface:#142235;
  --theme-surface-soft:#1b2e46;
  --theme-surface-strong:#182a40;
  --theme-surface-hover:#203651;
  --theme-text:#eef5ff;
  --theme-text-2:#cfdaea;
  --theme-muted:#8fa1b7;
  --theme-line:#293d55;
  --theme-line-strong:#39516d;
  --theme-accent:#62a4ff;
  --theme-accent-2:#80b6ff;
  --theme-accent-3:#a5ccff;
  --theme-accent-soft:#1b3656;
  --theme-success:#4ed0a2;
  --theme-success-soft:#183d38;
  --theme-danger:#ff7d7d;
  --theme-danger-soft:#492a31;
  --theme-warning:#f5ab63;
  --theme-warning-soft:#453426;
  --theme-shadow:0 16px 42px rgba(0,8,20,.30);
}

html[data-theme="emerald"] {
  color-scheme:light;
  --theme-page:#f3f8f5;
  --theme-page-top:#f8fcfa;
  --theme-page-bottom:#eef6f1;
  --theme-glow:#cceadd;
  --theme-surface:#fff;
  --theme-surface-soft:#f2f8f4;
  --theme-surface-strong:#fff;
  --theme-surface-hover:#edf7f1;
  --theme-text:#17241e;
  --theme-text-2:#45594f;
  --theme-muted:#708178;
  --theme-line:#dce9e2;
  --theme-line-strong:#cdded5;
  --theme-accent:#168a63;
  --theme-accent-2:#29a87c;
  --theme-accent-3:#81ccb0;
  --theme-accent-soft:#e4f5ee;
  --theme-success:#269b63;
  --theme-success-soft:#e4f5ec;
  --theme-danger:#d95757;
  --theme-danger-soft:#fcebea;
  --theme-warning:#d88932;
  --theme-warning-soft:#fbf0df;
  --theme-shadow:0 14px 40px rgba(20,82,58,.07);
}

html[data-theme="slate"] {
  color-scheme:light;
  --theme-page:#eef1f5;
  --theme-page-top:#f6f8fa;
  --theme-page-bottom:#e9edf2;
  --theme-glow:#d7e0eb;
  --theme-surface:#fff;
  --theme-surface-soft:#f4f6f8;
  --theme-surface-strong:#fff;
  --theme-surface-hover:#eef2f6;
  --theme-text:#202832;
  --theme-text-2:#4b5867;
  --theme-muted:#74808e;
  --theme-line:#dce2e8;
  --theme-line-strong:#ccd4dd;
  --theme-accent:#506b8a;
  --theme-accent-2:#6682a2;
  --theme-accent-3:#a2b4c8;
  --theme-accent-soft:#e7edf4;
  --theme-success:#318765;
  --theme-success-soft:#e5f2ed;
  --theme-danger:#d85f5f;
  --theme-danger-soft:#faecec;
  --theme-warning:#cf8538;
  --theme-warning-soft:#f8efe3;
  --theme-shadow:0 14px 38px rgba(46,61,78,.08);
}

html[data-theme="warm"] {
  color-scheme:light;
  --theme-page:#faf6f0;
  --theme-page-top:#fdfaf6;
  --theme-page-bottom:#f7f0e7;
  --theme-glow:#f2dcc4;
  --theme-surface:#fffdf9;
  --theme-surface-soft:#faf2e8;
  --theme-surface-strong:#fffefa;
  --theme-surface-hover:#f8ede0;
  --theme-text:#30261f;
  --theme-text-2:#62544a;
  --theme-muted:#88786c;
  --theme-line:#eadfd4;
  --theme-line-strong:#ddd0c4;
  --theme-accent:#b56b42;
  --theme-accent-2:#ca8055;
  --theme-accent-3:#ddb092;
  --theme-accent-soft:#f7e8dc;
  --theme-success:#368763;
  --theme-success-soft:#e9f3ed;
  --theme-danger:#c95c55;
  --theme-danger-soft:#f9eae7;
  --theme-warning:#c57b2d;
  --theme-warning-soft:#f8eddd;
  --theme-shadow:0 14px 38px rgba(90,57,35,.08);
}

html[data-theme="valentine"] {
  color-scheme:light;
  --theme-page:#fff6f9;
  --theme-page-top:#fff9fb;
  --theme-page-bottom:#fff3f7;
  --theme-glow:#f6b8cc;
  --theme-surface:#fffafb;
  --theme-surface-soft:#fff1f5;
  --theme-surface-strong:#fff;
  --theme-surface-hover:#fdeaf1;
  --theme-text:#351a26;
  --theme-text-2:#684453;
  --theme-muted:#8b6575;
  --theme-line:#f1d0dc;
  --theme-line-strong:#e8b5c7;
  --theme-accent:#e63e78;
  --theme-accent-2:#ef6796;
  --theme-accent-3:#f4a3bd;
  --theme-accent-soft:#fde6ee;
  --theme-success:#29936c;
  --theme-success-soft:#e6f5ef;
  --theme-danger:#da5264;
  --theme-danger-soft:#fcebed;
  --theme-warning:#d58a32;
  --theme-warning-soft:#fff2df;
  --theme-shadow:0 14px 40px rgba(143,47,84,.08);
}

html[data-theme="summer"] {
  color-scheme:light;
  --theme-page:#f4fbff;
  --theme-page-top:#f9fdff;
  --theme-page-bottom:#eef9ff;
  --theme-glow:#b9e4fa;
  --theme-surface:#fbfdff;
  --theme-surface-soft:#edf8ff;
  --theme-surface-strong:#fff;
  --theme-surface-hover:#e4f4ff;
  --theme-text:#17324b;
  --theme-text-2:#3f617a;
  --theme-muted:#66849b;
  --theme-line:#cce8f7;
  --theme-line-strong:#afd9ef;
  --theme-accent:#238fe4;
  --theme-accent-2:#4cabe8;
  --theme-accent-3:#8dcef3;
  --theme-accent-soft:#e1f3ff;
  --theme-success:#29a47d;
  --theme-success-soft:#e3f6ef;
  --theme-danger:#de6670;
  --theme-danger-soft:#fbecef;
  --theme-warning:#dfaa31;
  --theme-warning-soft:#fff6d9;
  --theme-shadow:0 14px 40px rgba(35,143,228,.08);
}

/* Request Portal semantic token bridge */
:root {
  --bg:var(--theme-page);
  --surface:var(--theme-surface);
  --surface2:var(--theme-surface-soft);
  --card:var(--theme-surface);
  --text:var(--theme-text);
  --muted:var(--theme-muted);
  --line:var(--theme-line);
  --primary:var(--theme-accent);
  --primary2:var(--theme-accent-soft);
  --purple:var(--theme-accent);
  --purpleSoft:var(--theme-accent-soft);
  --open:var(--theme-accent);
  --confirm:var(--theme-warning);
  --done:var(--theme-success);
  --danger:var(--theme-danger);
  --shadow:var(--theme-shadow);
}

body {
  color:var(--theme-text);
  background:
    radial-gradient(
      circle at 77% -8%,
      var(--theme-glow),
      transparent 34%
    ),
    linear-gradient(
      180deg,
      var(--theme-page-top),
      var(--theme-page-bottom)
    );
}

.card,
.login,
.top,
.side {
  background:var(--theme-surface);
  border-color:var(--theme-line);
  color:var(--theme-text);
}

.input,
.select,
textarea {
  background:var(--theme-surface-strong);
  border-color:var(--theme-line);
  color:var(--theme-text);
}

.secondary,
.link {
  color:var(--theme-accent);
}

.primary {
  background:var(--theme-accent);
}

.theme-palette-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.theme-palette {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:12px;
  text-align:left;
  border:1px solid var(--theme-line);
  border-radius:13px;
  background:var(--theme-surface-soft);
  color:var(--theme-text);
  cursor:pointer;
}

.theme-palette:hover,
.theme-palette.active {
  border-color:var(--theme-accent);
}

.theme-palette.active {
  box-shadow:0 0 0 2px
    color-mix(in srgb,var(--theme-accent) 20%,transparent);
}

.theme-palette b {
  display:block;
}

.theme-palette small {
  display:block;
  margin-top:3px;
  color:var(--theme-muted);
}

.theme-preview {
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:9px;
  border:1px solid var(--theme-line);
}

.theme-preview-light {
  background:linear-gradient(135deg,#7146ef,#f1edff);
}
.theme-preview-dark {
  background:linear-gradient(135deg,#1c1c24,#9b7bff);
}
.theme-preview-midnight {
  background:linear-gradient(135deg,#142235,#62a4ff);
}
.theme-preview-emerald {
  background:linear-gradient(135deg,#168a63,#e4f5ee);
}
.theme-preview-slate {
  background:linear-gradient(135deg,#506b8a,#e7edf4);
}
.theme-preview-warm {
  background:linear-gradient(135deg,#b56b42,#f7e8dc);
}
.theme-preview-valentine {
  background:linear-gradient(135deg,#e63e78,#fde6ee);
}
.theme-preview-summer {
  background:linear-gradient(135deg,#238fe4,#e1f3ff);
}

@media(max-width:760px) {
  .theme-palette-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:390px) {
  .theme-palette-grid {
    grid-template-columns:1fr;
  }
}


/* Request customer autocomplete */
.customer-autocomplete {
  position:relative;
}

.customer-suggestions {
  display:none;
  position:absolute;
  z-index:80;
  left:0;
  right:0;
  top:calc(100% + 6px);

  max-height:280px;
  overflow:auto;

  padding:6px;

  border:1px solid var(--line);
  border-radius:12px;

  background:var(--surface);
  box-shadow:var(--shadow);
}

.customer-suggestions.show {
  display:block;
}

.customer-suggestions button {
  width:100%;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;

  padding:11px 12px;

  border:0;
  border-radius:9px;

  text-align:left;

  background:transparent;
  color:var(--text);
}

.customer-suggestions button:hover {
  background:var(--primary2);
}

.customer-suggestions button b {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.customer-suggestions button span {
  flex:0 0 auto;
  color:var(--muted);
  font-size:11px;
}

/* Customer code + name pair */
.customer-pair {
  display:grid;
  grid-template-columns:minmax(160px,.42fr) minmax(240px,1fr);
  gap:12px;
}

.customer-pair .formrow {
  min-width:0;
}

.customer-option {
  cursor:pointer;
}

.customer-option-main {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.customer-option-main b {
  flex:0 0 auto;
  min-width:72px;
  font-variant-numeric:tabular-nums;
  color:var(--primary);
}

.customer-option-main strong {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:600;
  color:var(--text);
}

.customer-option-usage {
  flex:0 0 auto;
  color:var(--muted);
  font-size:11px;
}

.customer-suggestions button.active,
.customer-suggestions button:hover {
  background:var(--primary2);
  outline:1px solid
    color-mix(in srgb,var(--primary) 30%,transparent);
}

@media(max-width:650px) {
  .customer-pair {
    grid-template-columns:1fr;
    gap:4px;
  }
}

/* Storage management */

.storage-summary {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:18px;
}

.storage-summary > div {
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface2);
}

.storage-summary small {
  display:block;
  color:var(--muted);
  font-size:11px;
}

.storage-summary strong {
  display:block;
  margin-top:5px;
  font-size:18px;
}

.storage-bar {
  width:100%;
  height:10px;
  margin-top:16px;
  overflow:hidden;
  border-radius:999px;
  background:var(--surface2);
  border:1px solid var(--line);
}

.storage-bar span {
  display:block;
  height:100%;
  border-radius:999px;
  background:var(--done);
  transition:width .25s ease;
}

.storage-bar span.warning {
  background:var(--confirm);
}

.storage-bar span.danger {
  background:var(--danger);
}

.storage-detail {
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:13px;
  color:var(--muted);
  font-size:12px;
}

.storage-detail b {
  color:var(--text);
}

.storage-disk {
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
}

.storage-disk b {
  color:var(--text);
}

.storage-alert {
  margin-top:14px;
  padding:12px 14px;
  border-radius:10px;
  background:
    color-mix(
      in srgb,
      var(--confirm) 13%,
      transparent
    );
  color:var(--confirm);
  font-size:12px;
  font-weight:700;
}

@media(max-width:650px) {
  .storage-summary {
    grid-template-columns:1fr;
  }
}

/* Real request list */

.request-list-card {
  padding:0;
  overflow:hidden;
}

.real-request {
  cursor:pointer;
}

.real-request:hover {
  background:var(--surface2);
}

.request-main {
  min-width:0;
}

.request-main b,
.request-main small {
  display:block;
}

.request-main b {
  overflow:hidden;
  text-overflow:ellipsis;
}

.request-age {
  white-space:nowrap;
}

.request-toolbar {
  grid-template-columns:minmax(240px,1fr) auto auto;
}

.empty-state {
  padding:34px 18px;
  text-align:center;
  color:var(--muted);
}

.empty-state.error {
  color:var(--danger);
}

/* Request detail */

.detail-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-top:14px;
  margin-bottom:18px;
}

.detail-head h1 {
  margin:0;
}

.detail-summary {
  margin-bottom:14px;
}

.detail-blocks {
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:16px;
}

.detail-text-block {
  line-height:1.72;
  white-space:normal;
  overflow-wrap:anywhere;
}

.detail-attachment-block {
  max-width:900px;
}

.detail-image {
  display:block;
  width:auto;
  max-width:100%;
  max-height:720px;
  object-fit:contain;

  border:1px solid var(--line);
  border-radius:12px;

  background:var(--surface2);
}

.detail-file-meta {
  display:flex;
  justify-content:space-between;
  gap:10px;

  margin-top:7px;

  color:var(--muted);
  font-size:11px;
}

.detail-file-meta b {
  color:var(--text);
}

.detail-file-block {
  display:flex;
  align-items:center;
  gap:12px;

  padding:13px 14px;

  border:1px solid var(--line);
  border-radius:11px;

  background:var(--surface2);
  color:var(--text);
  text-decoration:none;
}

.detail-file-block:hover {
  border-color:var(--primary);
}

.detail-file-block span:last-child {
  min-width:0;
}

.detail-file-block b,
.detail-file-block small {
  display:block;
}

.detail-file-block b {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.detail-file-block small {
  margin-top:3px;
  color:var(--muted);
}

@media(max-width:760px) {
  .request-toolbar {
    display:grid;
    grid-template-columns:1fr;
  }

  .detail-head {
    flex-direction:column;
  }

  .real-request {
    align-items:flex-start;
  }

  .request-age {
    font-size:10px;
  }

  .detail-image {
    width:100%;
    max-height:none;
  }
}
