:root{color-scheme:dark;--bg:#09101c;--panel:#111d2d;--panel2:#152437;--border:#23364c;--borderlight:#2b4760;--muted:#8ba5be;--text:#e5f0fb;--teal:#4cddbb;--blue:#77adfa;--yellow:#e9b65c;--red:#fa777c;--shadow:0 12px 36px #0003;font:14px/1.5 Inter,ui-sans-serif,system-ui,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 850px 380px at 60% -30%,#1a4254 0%,transparent 70%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}h1{font-size:27px;line-height:1.15;letter-spacing:-.6px}h2{font-size:17px;letter-spacing:-.2px}h3{font-size:14px}.small{font-size:12px}.muted{color:var(--muted)}.mono,.numeric{font-variant-numeric:tabular-nums}.green{color:var(--teal)!important}.red{color:var(--red)!important}.yellow{color:var(--yellow)!important}.blue{color:var(--blue)!important}.hide{display:none!important}
.layout{display:grid;grid-template-columns:234px minmax(0,1fr);min-height:100vh}.sidebar{background:#0e1928;border-right:1px solid var(--border);padding:24px 15px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:19px;padding:0 9px}.mark{width:34px;height:34px;display:grid;place-items:center;background:linear-gradient(135deg,#21545b,#157c78);border:1px solid #459894;border-radius:10px;color:#7ff3db;font-size:21px;box-shadow:0 0 16px #11c69d22}.brand small{display:block;font-weight:400;font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:var(--muted)}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:#a2bbd1;padding:12px 13px;border-radius:9px;text-align:left;display:flex;gap:12px;align-items:center;font-weight:600;width:100%}.nav button:hover{background:#1b2a3a;color:#f7fbff}.nav button.active{background:#173e49;color:#66e8c5;box-shadow:inset 3px 0 var(--teal)}.nav .glyph{font-size:17px;width:19px;text-align:center}.side-bottom{margin-top:auto;padding:15px 10px;border:1px solid var(--border);border-radius:12px;background:#122135}.side-bottom strong{display:block;font-size:12px}.side-bottom p{margin-top:5px;color:var(--muted);font-size:11px}.app{max-width:1510px;width:100%;margin:auto;padding:32px 38px 80px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}.eyebrow{text-transform:uppercase;color:var(--teal);letter-spacing:1.5px;font-size:11px;font-weight:800;margin-bottom:5px}.topbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pill,.chip{border:1px solid var(--borderlight);padding:6px 11px;border-radius:99px;background:#132539;color:#b6cee2;font-size:11px;font-weight:650}.chip.teal,.pill.teal{background:#143e3d;color:#63e6c0;border-color:#266b60}.chip.amber{background:#4a371f;color:#ffd18b;border-color:#74512a}.chip.red{background:#422329;color:#ff9699;border-color:#77434a}.chip.gray{color:#a2aec0}.btn{border:1px solid #315068;background:#1b3045;color:#daedff;font-weight:700;border-radius:9px;padding:10px 14px;min-height:38px}.btn:hover{background:#28435b}.btn.primary{background:#16a686;border-color:#27c19d;color:#031b19;box-shadow:0 3px 12px #14ac8c22}.btn.primary:hover{background:#52dbb3}.btn.ghost{background:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.sm{padding:6px 10px;min-height:29px;font-size:12px}.hero-notice{border:1px solid #665026;background:#241f19;color:#efd3a1;border-radius:10px;padding:11px 15px;margin-bottom:18px;display:flex;align-items:center;gap:12px;font-size:12px}.hero-notice span:first-child{font-size:19px}.grid{display:grid;gap:15px}.grid.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:17px}.stat{background:linear-gradient(145deg,#142439,#101c2b);border:1px solid var(--border);border-radius:12px;padding:17px 18px;min-width:0}.stat .label{font-size:10px;letter-spacing:.75px;text-transform:uppercase;color:var(--muted);font-weight:700}.stat .value{font-size:25px;font-weight:750;margin-top:9px;letter-spacing:-.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat .sub{font-size:11px;color:var(--muted);margin-top:3px}.section{display:grid;gap:17px}.split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:15px}.card{background:linear-gradient(145deg,#121f30,#101b29);border:1px solid var(--border);border-radius:13px;padding:19px;min-width:0;box-shadow:0 3px 15px #0001}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.cardhead .subtitle{font-size:11px;color:var(--muted);margin-top:3px}.detailrow{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #25364b;font-size:12px}.detailrow:last-child{border-bottom:none}.detailrow strong{text-align:right;font-size:12px}.clock{color:var(--teal);font-size:29px;letter-spacing:-.6px;font-variant-numeric:tabular-nums;font-weight:750}.progress{height:7px;border-radius:99px;background:#22384a;overflow:hidden;margin:12px 0 8px}.progress>div{height:100%;width:0%;background:linear-gradient(90deg,#177e85,#4ae8be);border-radius:99px;transition:width .3s}.notice{background:#163044;color:#b4d0ea;border-left:3px solid var(--blue);padding:10px 12px;font-size:12px;border-radius:0 7px 7px 0}.notice.warn{background:#3a2a1e;border-color:var(--yellow);color:#f5d2a3}.notice.success{background:#14352f;border-color:var(--teal);color:#b5f0d9}.notice.danger{background:#3a2429;border-color:var(--red);color:#ffd4d4}.chart{width:100%;height:250px;display:block}.chart text{font-family:inherit;font-size:10px;fill:#8ca7bf}.chart .gridline{stroke:#294056;stroke-width:1;stroke-dasharray:3 5}.chart .path{stroke:var(--teal);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}.chart .area{fill:url(#areaFade);opacity:.8}.empty{padding:42px 18px;text-align:center;color:var(--muted);border:1px dashed #2c4154;border-radius:10px;font-size:12px}.empty .symbol{display:block;font-size:29px;color:#4a738e;margin-bottom:9px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px;min-width:620px}.table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#7fa0bb;font-weight:700;padding:11px 9px;background:#152639;white-space:nowrap}.table td{padding:11px 9px;border-bottom:1px solid #223348;white-space:nowrap}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#182b3e}.table th.right,.table td.right{text-align:right}.table td .secondary{display:block;color:#7391a9;font-size:10px}.namebtn{border:0;background:none;color:#a2c9ff;font-weight:650;padding:0;text-align:left}.namebtn:hover{text-decoration:underline}.filterbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.field{background:#0d1825;border:1px solid #31475f;border-radius:8px;padding:9px 11px;color:#e6f2fe;outline:none;min-width:0;max-width:100%}.field:focus{border-color:#34caa7;box-shadow:0 0 0 2px #34caa71a}.field::placeholder{color:#647e96}.field.smallfield{width:88px}.field.search{width:250px}.field.long{width:100%}.setting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.setting label{font-size:11px;display:block;color:var(--muted);font-weight:650;margin-bottom:6px}.setting small{display:block;color:#748da5;margin-top:5px;font-size:10px}.setting input,.setting select,.setting textarea{width:100%}.setting textarea{min-height:75px;resize:vertical}.panel-title{font-weight:750;font-size:15px}.kpi{display:flex;align-items:baseline;gap:10px}.mini-bars{display:flex;align-items:end;gap:5px;height:40px}.mini-bars span{width:7px;max-height:100%;border-radius:3px 3px 0 0;background:#286e72}.mini-bars span:last-child{background:var(--teal)}.badge-flag{display:inline-block;color:#efc778;background:#40321e;border-radius:5px;padding:1px 7px;font-size:10px}.center{display:flex;align-items:center;justify-content:center}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.meter-list{display:grid;gap:10px}.meter-item .caption{display:flex;justify-content:space-between;font-size:11px;margin-bottom:6px}.barbg{background:#21354a;border-radius:9px;height:7px;overflow:hidden}.barfill{background:var(--teal);height:100%;border-radius:9px}.tabs{display:flex;gap:7px}.tabs button{padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--muted);font-size:11px}.tabs button.active{background:#1b4448;border-color:#237a6f;color:#7df2d0}.footer{font-size:11px;color:#637e97;margin-top:32px;text-align:center}.dialog-backdrop{position:fixed;inset:0;z-index:100;background:#02060bc9;display:grid;place-items:center;padding:20px}.dialog{background:#122235;border:1px solid #39506a;box-shadow:0 20px 80px #000b;padding:24px;border-radius:14px;width:min(660px,96vw);max-height:90vh;overflow:auto}.dialog p{color:#a7bdcf;font-size:12px;margin:12px 0}.dialog textarea{width:100%;min-height:220px;font:12px/1.4 ui-monospace,Consolas,monospace;resize:vertical}.dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.toast{position:fixed;right:22px;bottom:22px;padding:13px 16px;background:#173c42;border:1px solid #3c9482;border-radius:9px;color:#e0fff4;z-index:200;box-shadow:var(--shadow);max-width:400px}.chartlabel{font-size:10px}.helptext{line-height:1.7;color:var(--muted);font-size:12px}.listdots{padding-left:18px}.listdots li{margin:5px 0}
@media(max-width:1120px){.app{padding:26px 24px 70px}.grid.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.setting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}
@media(max-width:760px){.layout{display:block}.sidebar{height:auto;position:static;padding:12px 14px;gap:12px}.brand{font-size:16px}.mark{width:30px;height:30px}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap;width:auto;padding:8px;font-size:11px}.side-bottom{display:none}.app{padding:19px 12px 50px}.topbar{align-items:flex-start}.topbar-right{width:100%;gap:7px}.grid.stats{gap:9px}.stat{padding:12px}.stat .value{font-size:20px}.card{padding:14px}.setting-grid{grid-template-columns:1fr}.field.search{width:100%}}


/* Kina Desk favicon and item thumbnails; missing artwork falls back to a category glyph. */
.mark{background:transparent;border:0;box-shadow:none;overflow:visible}
.mark img{display:block;width:100%;height:100%;object-fit:contain}
.item-label{display:flex;align-items:center;gap:10px;min-width:0}
.item-label .item-copy{min-width:0;flex:1}
.item-thumb{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;min-width:36px;border-radius:8px;background:linear-gradient(135deg,#19374d,#142638);border:1px solid #35526a;box-shadow:inset 0 1px 1px #ffffff10;overflow:hidden;color:#9bdddb;font-size:19px;line-height:1}
.item-thumb[data-kind="gather"]{background:linear-gradient(135deg,#153e35,#142e35);border-color:#266754;color:#77d6a5}
.item-thumb[data-kind="craft"]{background:linear-gradient(135deg,#37304b,#222c44);border-color:#57487c;color:#bea9ff}
.item-thumb[data-kind="wing"]{background:linear-gradient(135deg,#3d334b,#24314b);border-color:#6a5285;color:#d4b5ff}
.item-thumb[data-kind="weapon"]{background:linear-gradient(135deg,#44392d,#302a31);border-color:#6c583d;color:#f0cc81}
.item-thumb[data-kind="consumable"]{background:linear-gradient(135deg,#163d45,#1b3246);border-color:#35717f;color:#8ce1f2}
.item-thumb[data-kind="armor"]{background:linear-gradient(135deg,#28364d,#182b43);border-color:#466189;color:#a7c9ff}
.item-thumb .glyph-fallback{font-size:19px;line-height:1;pointer-events:none}
.item-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#162333}
.item-thumb.big{width:55px;height:55px;min-width:55px;border-radius:11px}
.item-thumb.big .glyph-fallback{font-size:29px}
.modal-item-title{display:flex;align-items:center;gap:13px;margin:4px 0 16px}
.table .item-label .namebtn{max-width:100%;white-space:normal;text-align:left}
@media(max-width:760px){.item-thumb{width:30px;height:30px;min-width:30px;border-radius:7px}.item-label{gap:7px}}


/* Market catalog controls */
.market-filters{margin:0 0 15px;gap:10px;align-items:center}
.market-filters .search{flex:1 1 245px;min-width:180px}
.market-filters select{flex:0 1 190px;min-width:138px}
.market-favs{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer}
.market-favs input{accent-color:#28ceb0;width:15px;height:15px}
#item-result-count{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:760px){.market-filters .search{flex-basis:100%}.market-filters select{flex:1 1 145px}#item-result-count{margin-left:0}}
