@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/desk/assets/nunito-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/desk/assets/nunito-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/desk/assets/nunito-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/desk/assets/nunito-800.ttf) format('truetype');
}

:root{font-family:Nunito,"PingFang TC","Microsoft JhengHei","Segoe UI",sans-serif;color:#193c4c;background:#f4f7f8;font-size:15px;line-height:1.6}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #d9e3e8;padding:20px 5vw;display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{font-size:20px;letter-spacing:.08em;font-weight:750}.brand small{display:block;font-size:11px;letter-spacing:.12em;color:#67808b}nav{display:flex;gap:15px;flex-wrap:wrap}a{color:#126587;text-underline-offset:4px}main{max-width:1160px;margin:auto;padding:38px 24px 80px}h1{font-size:clamp(28px,4vw,44px);line-height:1.15;margin:12px 0 20px}h2{font-size:23px;margin:0 0 18px}h3{font-size:18px}p{margin:10px 0 20px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:#47798a}.muted,small{color:#617a85}.card{background:white;padding:28px;border:1px solid #d8e3e8;border-radius:12px;margin:18px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.grid .card{margin:0}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}button,.button{display:inline-block;border:1px solid #235568;background:#235568;color:#fff;padding:10px 17px;border-radius:6px;font:inherit;cursor:pointer;text-decoration:none}button.secondary,.button.secondary{color:#235568;background:#fff}button:disabled{opacity:.5;cursor:wait}label{display:block;font-weight:650;margin:15px 0 6px}input,textarea,select{font:inherit;color:inherit;width:100%;padding:11px 12px;border:1px solid #aebfc7;border-radius:5px;background:white}textarea{min-height:145px;resize:vertical}input[type=checkbox]{width:auto;margin-right:8px}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #c4dfec;outline-offset:2px}.notice{padding:15px 20px;border-left:3px solid #d3b458;background:#fff9e8;border-radius:4px}.error{color:#92282e;background:#fff1f1;padding:14px;white-space:pre-wrap}.pill{background:#e9f2f5;border-radius:20px;padding:3px 12px;font-size:12px;font-weight:650}.draft-pill{background:#fff5d9}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.list-row{display:block;border-top:1px solid #e0e8eb;padding:18px 0;text-decoration:none}.list-row strong{display:block;font-size:18px}.task{padding:16px;border:1px solid #e1e9eb;border-radius:7px;margin:12px 0}.task.done{background:#f0f7f3}.note{border-left:3px solid #e4bd70;background:#fffbef}.message{padding:15px 20px;border-bottom:1px solid #e0e7ea}.message p{margin:8px 0 0}.summary{font-size:17px}.tabs{margin:24px 0}.tab{margin-right:10px}details{margin:18px 0}summary{cursor:pointer;font-weight:650}footer{color:#68808a;margin:32px 0;font-size:12px;text-align:center}.empty{padding:30px;color:#67808b}.login{max-width:560px;margin:35px auto}.cost{font-weight:700;background:#fff9df}.status{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 22px;background:#163f50;color:white;border-radius:8px;z-index:20}.stat{font-size:30px;font-weight:700}dialog{max-width:800px;width:92%;border:1px solid #b6cbd5;border-radius:10px;padding:28px}dialog::backdrop{background:#173b4e55}@media(max-width:700px){.grid{grid-template-columns:1fr}header{align-items:flex-start;flex-direction:column;padding:18px 22px}main{padding:24px 16px}.card{padding:20px}.actions button{flex:1}h1{font-size:32px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Shared editorial-blue theme, matched to Client Cases. Nunito remains the friendly UI family. */
:root{--ink:#203b66;--muted:#627690;--accent:#2468d5;--line:#e5ebf1;--bg:#fbfcfe;color:var(--ink);background:var(--bg)}
body{background:var(--bg);color:var(--ink)}a{color:#2468d5}p{line-height:1.85}h1{font-size:32px;line-height:1.35;letter-spacing:-.5px;font-weight:700;color:#203d66}h2{font-size:20px;color:#29466d}h3{color:#29466d}.muted,small{color:var(--muted)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:0;color:#23406a}.brandmark{display:grid;place-items:center;background:#2d77e9;color:white;border-radius:3px;font-size:25px;font-weight:600;width:34px;height:34px;flex-shrink:0}.brand strong{display:block;font-size:15px;font-weight:800;letter-spacing:2.1px}.brand small{font-size:10px;letter-spacing:1.6px;color:#627690;margin-top:4px}.desk-sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:white;border-right:1px solid var(--line);padding:30px 18px 18px;display:flex;flex-direction:column;overflow:auto;z-index:30}.desk-sidebar .brand{margin:0 8px 36px}.desk-sidebar nav{display:block}.navlabel{font-size:11px;letter-spacing:1.5px;color:#667993;margin:22px 12px 12px}.desk-nav{display:flex;align-items:center;gap:12px;margin:5px 0;padding:13px 15px;border-radius:3px;text-decoration:none;color:#526d91;font-size:14px}.desk-nav svg,.menu-toggle svg{width:18px;height:18px;flex-shrink:0}.desk-nav.active{background:linear-gradient(105deg,#3287f5,#009bcf 65%,#00c6cb);color:white;box-shadow:0 5px 13px #327cf316}.desk-nav:hover:not(.active){background:#f1f7ff;color:var(--accent)}.sidebar-bottom{margin-top:auto;padding:24px 8px 0}.sidebar-bottom>p{font-size:13px;border-top:1px solid var(--line);padding-top:22px}.sidebar-bottom>small{display:block;line-height:1.8}.desk-account{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;display:flex;align-items:center;gap:10px}.desk-account strong{font-size:13px;display:block;overflow-wrap:anywhere}.desk-account small{display:block;font-size:11px}.desk-account button{margin-left:auto;padding:7px 10px}.avatar{background:#edf3fb;color:#426fae;border:1px solid #e1eaf6;border-radius:50%;display:grid;place-items:center;width:34px;height:34px;flex-shrink:0}.desk-shell{margin-left:244px}.desk-topbar{height:75px;padding:0 36px;font-size:13px;background:white;border-bottom:1px solid var(--line)}.secure{font-size:12px;color:#627690}.desk-shell main{max-width:1400px;padding:30px 38px 44px}.menu-toggle{display:none}.desk-hero{background:#eaf1f5;padding:28px 32px 42px;position:relative}.desk-hero:before,.signin-brand:before{content:'';position:absolute;top:0;left:32px;width:112px;height:3px;background:linear-gradient(90deg,#3886ff,#00d1cb)}.eyebrow{font-size:12px;letter-spacing:2px;color:#52739b}.desk-hero .eyebrow{display:flex;align-items:center;gap:12px}.desk-hero .eyebrow:before{content:'';height:2px;width:20px;background:#00bacb}.desk-hero h1{margin:8px 0 14px;max-width:650px}.desk-hero p:last-child{font-size:14px;color:#627690;margin-bottom:0}.desk-stats{position:relative;margin:-16px 24px 26px;background:white;border:1px solid #edf1f6;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:0 10px 26px #25446f06;padding:20px 0}.desk-stats>div{padding:0 24px;border-right:1px solid var(--line)}.desk-stats>div:last-child{border:0}.desk-stats strong{display:block;font-size:30px;color:#274873;margin-top:7px}.shared-caption{font-size:13px;color:#627690}.card{border:1px solid #e8edf3;border-radius:5px;box-shadow:0 7px 24px #29487304;padding:26px}.card>h2:before,.card>.row>h2:before{content:'';display:inline-block;width:13px;height:2px;background:#21b9ce;vertical-align:middle;margin-right:10px}.grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px}.grid>*{min-width:0}button,.button{background:#347cf2;border-color:#347cf2;border-radius:24px;font-size:14px;font-weight:700;padding:11px 20px}button:hover,.button:hover{background:#2369df;color:#fff}button.secondary,.button.secondary{background:white;border-color:#c9d5e3;color:#31527c;border-radius:4px}button.secondary:hover,.button.secondary:hover{background:#f1f6fd;border-color:#9bbbe4}.list-row{border-color:#edf1f5;padding:23px 8px;color:#294974}.list-row:hover{background:#f7fbff;box-shadow:inset 3px 0 #3484f6}.list-row strong{font-size:17px;overflow-wrap:anywhere}.pill{border-radius:3px;border:1px solid #dce6f4;background:#f3f7fd;color:#5276a4}.draft-pill{background:#fffcf4;border-color:#e7dcc2;color:#7a6332}input,select,textarea{border-radius:3px;border-color:#d8e2ee;color:#365781;min-width:0}label{font-size:14px;color:#456386}input:focus,textarea:focus,select:focus{border-color:#4a90ed}input[type=checkbox]{accent-color:#397ff0}.task{border-color:#e1eaf5;border-radius:4px;background:#fbfdff}.task.done{background:#eff9f8}.notice{background:#f0f7ff;border-color:#468bfa;color:#456b99;font-size:14px}.note{background:#fffbef}.message{border-color:#e8eef5}.message p{font-size:14px}.cost{background:#fff9df}.reuse-panel{background:#f4f8fd;border:1px solid #e1eaf5;padding:18px;margin-bottom:22px;border-radius:4px}.reuse-panel label{margin-top:0}.reuse-row{display:flex;gap:12px;align-items:center;margin-bottom:9px}.reuse-row select{flex:1}.reuse-row button{flex-shrink:0}.notice .list-row{padding:10px 4px;font-size:13px}.notice p{margin:8px 0;font-size:13px}footer{color:#64758b;border-top:1px solid #e9eef4;padding-top:21px;margin-top:33px;font-size:12px;text-align:center;line-height:1.8}.signin-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.signin-brand{position:relative;background:#e7f0f4;padding:70px 6vw;display:flex;flex-direction:column;justify-content:center;gap:65px}.signin-brand h2{font-size:clamp(30px,3.2vw,44px);line-height:1.4;color:#274772;margin:20px 0}.signin-brand p{color:#526d91;font-size:15px}.signin-brand:before{left:6vw;width:150px;height:4px}.signin-steps{display:flex;flex-wrap:wrap;gap:20px;margin-top:34px;color:#426a99;font-size:13px}.signin-main{width:100%;max-width:720px;margin:auto;padding:64px 5vw}.signin-main .login{margin:0 auto;max-width:560px}.signin-main .login h1{font-size:30px;line-height:1.4}.signin-main .login p{font-size:14px;color:#627690}.signin-main footer{margin-top:46px}.signin-main .login.card{padding:24px}.status{background:#244c7e;border-radius:4px;max-width:calc(100% - 32px);width:max-content}dialog{border-radius:5px;border-color:#e4ebf4;box-shadow:0 24px 90px #244c8024}dialog::backdrop{background:#25476d54}
@media(max-width:1100px){.desk-sidebar{width:218px;padding-left:12px;padding-right:12px}.desk-shell{margin-left:218px}.desk-shell main{padding:26px}.desk-topbar{padding:0 26px}.desk-hero{padding:26px 25px 38px}.grid{grid-template-columns:1fr}.reuse-row{flex-wrap:wrap}.reuse-row select{flex-basis:100%}}
@media(max-width:760px){.desk-sidebar{display:none;width:min(290px,85vw);box-shadow:15px 0 50px #20497822}.desk-sidebar.open{display:flex;padding-top:82px}.desk-shell{margin-left:0}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;padding:9px!important}.desk-topbar{position:sticky;top:0;z-index:40;height:66px;padding:0 18px;flex-direction:row;align-items:center}.secure{display:none}.desk-shell main{padding:22px 18px}.desk-hero{padding:24px 22px 38px;margin-left:-18px;margin-right:-18px}.desk-hero h1{font-size:27px}.desk-stats{margin:-15px 0 24px;padding:16px 0}.desk-stats>div{padding:0 12px}.desk-stats small{font-size:11px;display:block;line-height:1.5}.desk-stats strong{font-size:25px}.card{padding:20px}.actions{gap:10px}.actions .button{flex:1;text-align:center}.signin-layout{grid-template-columns:1fr}.signin-brand{padding:30px 25px;gap:28px}.signin-brand h2{font-size:28px;margin:12px 0}.signin-brand p{font-size:13px;margin:8px 0}.signin-brand .eyebrow{font-size:10px}.signin-steps{margin-top:20px;font-size:12px;gap:16px}.signin-main{padding:30px 25px}.signin-main .login h1{font-size:26px}.signin-main footer{margin-top:30px}h1{font-size:28px}input,textarea,select{font-size:16px}.reuse-row button{width:100%}}

/* Interface preference selector, kept outside forms. */
.desk-language{display:flex;gap:10px;align-items:center;justify-content:flex-end;font-size:12px;margin:0 0 22px;letter-spacing:0}.desk-language select{width:auto;max-width:180px;padding:8px 10px;background:white;font:inherit}.desk-topbar .desk-language{order:3;margin:0 0 0 auto}.desk-topbar .secure{display:none}@media(max-width:760px){.desk-topbar{height:auto;min-height:66px;flex-wrap:wrap;gap:10px;padding:12px 18px}.desk-topbar .desk-language span{display:none}.desk-topbar .desk-language{margin:0}.desk-language select{font-size:16px}.signin-main>.desk-language{margin-bottom:22px}}

/* Unified cases 1.8.0 */
.case-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;margin:18px 0}.case-filters input,.case-filters select{margin-top:6px}.case-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.case-section-nav button{font-size:13px;padding:8px 12px}.case-role{padding:12px 16px;background:linear-gradient(0deg,#fffde9,transparent);border-radius:8px}section[id],details[id]{scroll-margin-top:90px}.desk-account small{overflow-wrap:anywhere}.list-row>div{min-width:0;overflow-wrap:anywhere}.list-row{flex-wrap:wrap}.desk-sidebar nav{overflow-y:auto;max-height:65vh}@media(max-width:800px){.case-filters{grid-template-columns:1fr 1fr}}@media(max-width:480px){.case-filters{grid-template-columns:1fr}.case-section-nav{gap:5px}}

/* Case Desk 1.8.1: one case section at a time, with persistent in-page form state. */
.case-tabs{position:sticky;top:0;z-index:10;background:#fbfcfe;display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #dce6f3;margin:22px 0 24px;padding:0 0 12px}
.case-tabs [role=tab]{display:flex;align-items:center;gap:8px;border:1px solid transparent;background:transparent;color:#526d91;border-radius:5px;padding:11px 15px;min-height:44px;white-space:nowrap;font-weight:700;box-shadow:none}
.case-tabs [role=tab]:hover{background:#edf4ff;color:#2468d5}
.case-tabs [role=tab][aria-selected=true]{background:#edf4ff;color:#205bb5;border-color:#cbdcf6;box-shadow:inset 0 -3px #347cf2}
.case-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:1px 6px;border-radius:12px;background:#e5edf8;color:#41658f;font-size:11px;line-height:1.6}
.case-tabs [aria-selected=true] .case-tab-count{background:#d7e7ff;color:#205bb5}
.case-tab-panel[hidden]{display:none!important}.case-tab-panel{min-width:0;min-height:180px}.case-tab-panel>.card:first-child{margin-top:0}.case-tab-panel:focus{outline:none}.case-tab-panel:focus-visible{outline:2px solid #8eb9f0;outline-offset:5px}
@media(max-width:700px){.case-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:0 0 10px;gap:4px;scrollbar-width:thin;scrollbar-color:#c7d8ee transparent}.case-tabs [role=tab]{flex-shrink:0;padding:10px 12px}.case-tab-panel .card{padding:20px}.case-tab-panel .actions{align-items:stretch}.case-tab-panel .actions button{white-space:normal}}

/* Compact case identity; clear rhythm between discussion sections. */
.desk-shell main:has(>.case-tabs){padding-top:18px}
main:has(>.case-tabs)>.eyebrow{margin:0 0 5px;font-size:11px}
main:has(>.case-tabs)>.row{gap:12px;align-items:center}
main:has(>.case-tabs)>.row h1{font-size:28px;line-height:1.3;margin:4px 0}
main:has(>.case-tabs)>.row .actions{margin:0}
main:has(>.case-tabs)>.case-role{margin:12px 0;padding:8px 12px}
.case-tabs{margin-top:14px;margin-bottom:20px;padding-bottom:10px}
#case-panel-discussion #post{margin-bottom:34px;padding-bottom:28px;border-bottom:1px solid #e5ebf1}
#case-panel-discussion #comment{margin-top:28px;padding-top:22px;border-top:1px solid #e5ebf1}
#case-panel-discussion .message{padding:20px 4px}
#case-panel-discussion .message:last-of-type{border-bottom:0}
.case-tab-panel .card+ .card{margin-top:24px}
/* Private file tiles: image thumbnails or clear document-type covers. */
.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:18px;margin:20px 0 30px}
.file-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e1e9f3;border-radius:6px;overflow:hidden;background:white}
.file-thumb{display:grid;place-items:center;position:relative;aspect-ratio:16/10;width:100%;padding:0;overflow:hidden;border:0;border-bottom:1px solid #e5ebf1;border-radius:0;background:linear-gradient(155deg,#f3f7fc,#e9f1fc);color:#52749c}
button.file-thumb:hover{background:#eaf2ff;color:#315b90}
.file-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#f4f7fb;opacity:0}
.file-thumb.has-preview img{opacity:1}.file-thumb.has-preview .file-type{visibility:hidden}
.file-type{display:grid;place-items:center;min-width:66px;height:82px;padding:10px;background:white;border:1px solid #d5e2f3;border-radius:5px;box-shadow:0 7px 18px #2948730b;font-size:16px;font-weight:800;letter-spacing:1px}
.file-info{padding:16px 16px 6px;overflow-wrap:anywhere}.file-info strong{display:block;font-size:14px}.file-info small{display:block;font-size:11px;line-height:1.8;margin-top:5px}
.file-actions{margin:auto 0 0;padding:12px 16px 16px;gap:8px}.file-actions .button,.file-actions button{font-size:12px;padding:7px 10px}
#upload{margin-top:28px;padding-top:24px;border-top:1px solid #e5ebf1}
#upload-preview:empty{display:none}#upload-preview{margin:16px 0;padding:14px;background:#f5f8fd;border:1px solid #e1eaf6;border-radius:5px}#upload-preview img{display:block;max-width:100%;max-height:180px;object-fit:contain}#upload-preview p{margin:8px 0 0;overflow-wrap:anywhere}
.file-lightbox{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:20px auto 0}dialog:has(.file-lightbox){max-width:1000px}
@media(max-width:700px){main:has(>.case-tabs)>.row h1{font-size:24px}main:has(>.case-tabs)>.row .actions button{padding:8px 12px}.file-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}.desk-shell main:has(>.case-tabs){padding-top:14px}}

.upload-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #e4ecf8}.upload-row>div{min-width:0;display:grid;gap:5px}.upload-row strong{overflow-wrap:anywhere}.upload-row span{font-size:.86rem}.upload-row[data-state="done"] span{color:#207149}.upload-row[data-state="failed"] span,.upload-row[data-state="invalid"] span{color:#ac3d31}#upload-preview .upload-row img{width:64px;height:48px;object-fit:cover;border-radius:6px;margin:0}#upload-preview{margin:16px 0}

.confirm-dialog{position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 32px));max-height:85dvh;padding:30px;border:1px solid #d7e5fa;border-radius:20px;color:#214d7d;background:linear-gradient(0deg,#edf5ff 0%,#fff 45%);box-shadow:0 24px 90px #16375e33}.confirm-dialog::backdrop{background:#183c6759;backdrop-filter:blur(3px)}.confirm-dialog h2{margin:14px 0 10px;font-size:1.5rem}.confirm-symbol{display:grid;place-items:center;width:42px;height:42px;background:#e4efff;color:#347af2;border-radius:50%;font-size:24px}.confirm-detail{padding:12px;background:#f4f8fe;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:28vh;overflow:auto}.confirm-dialog .actions{justify-content:flex-end;margin-top:24px;gap:12px}.file-details-dialog{width:min(760px,calc(100vw - 28px));max-height:88dvh;border-radius:18px;border:1px solid #d7e5fa}.file-details-dialog section{margin-top:28px;padding-top:20px;border-top:1px solid #e4ecf8}.file-comment{padding:16px 0;border-bottom:1px solid #e4ecf8}.file-comment small{display:block;margin-top:6px}.file-comment .actions{gap:10px}.file-note-excerpt{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.upload-row{flex-wrap:wrap}.upload-row>div{flex:1}.upload-row .upload-remove{margin-left:auto}.upload-row .upload-note{width:100%;font-size:.85rem}.upload-note textarea{margin:6px 0 0;min-height:65px}.file-details-dialog h2{overflow-wrap:anywhere}
.file-details-dialog textarea{min-height:88px;height:96px}.file-details-dialog>.row{position:sticky;top:-28px;background:#fff;z-index:2;padding:12px 0;border-bottom:1px solid #e4ecf8}

.file-card{position:relative}.file-remove-x{position:absolute;right:9px;top:9px;z-index:2;width:32px;height:32px;min-width:32px;padding:0;border:1px solid #d7e4f4;border-radius:50%;background:#ffffffed;color:#315980;font-size:24px;line-height:1;box-shadow:0 2px 10px #23446b1a;opacity:0;pointer-events:none;transition:opacity .15s,background .15s}.file-card:hover .file-remove-x,.file-card:focus-within .file-remove-x{opacity:1;pointer-events:auto}.file-remove-x:hover{background:#fff1f0;color:#b94742}.file-remove-x:focus-visible{outline:3px solid #6c9fff;outline-offset:2px}@media(hover:none),(max-width:700px){.file-remove-x{opacity:1;pointer-events:auto}}
