:root{--u:16px;--u-h:8px;--u-q:4px;--page-max:calc(var(--u) * 72);--surface-content-padding:calc(var(--u) * 1.25);--caret-col:calc(var(--u) * 0.875);--surface-0:#161616;--surface-1:#1b1b1b;--surface-2:#222222;--surface-3:#2a2a2a;--border-subtle:#2b2b2b;--border:#333333;--border-strong:#454545;--text-primary:rgba(255,255,255,0.92);--text-secondary:rgba(255,255,255,0.7);--text-tertiary:rgba(255,255,255,0.55);--radius-s:6px;--radius-m:8px;--radius-l:12px;--radius-xl:20px;--focus-ring:0 0 0 3px rgba(28,117,188,0.3);--color-app-bg:var(--surface-2);--accent-color:var(--pdm-blue);--accent-hover:#0063cc;--pdm-red:#EF4136;--pdm-red-light:#ffb0a7;--pdm-red-dark:#7c1c14;--pdm-blue:#1C75BC;--pdm-blue-light:#8cc4ff;--pdm-blue-dark:#0d3a66;--pdm-fauxgold:#8a7245;--pdm-green:#39B54A;--pdm-green-light:#95f695;--pdm-green-dark:#1f5c27;--pdm-yellow:#FFDE17;--pdm-yellow-light:#fffac0;--pdm-yellow-dark:#b38600;--pdm-purple:#D05CFF;--pdm-purple-light:#F0C9FF;--pdm-purple-dark:#731F9D;--viewport-top-offset:env(safe-area-inset-top,0px);--header-height:calc(var(--u) * 3);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Avenir,Helvetica,Arial;line-height:1.5;font-weight:400;--csstools-color-scheme--light: ;color-scheme:dark;color:rgba(255,255,255,.92);color:var(--text-primary);background-color:#222222;background-color:var(--color-app-bg);scrollbar-color:#333333 transparent;scrollbar-color:var(--border) transparent;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#333333;background:var(--border)}@font-face{font-family:PDM;src:url(/fonts/PDM-Medium.woff2) format("woff2"),url(/fonts/PDM-Medium.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:PDM;src:url(/fonts/PDM-Bold.woff2) format("woff2"),url(/fonts/PDM-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:PDM-Black;src:url(/fonts/PDM-Black.woff2) format("woff2"),url(/fonts/PDM-Black.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}.font-pdm{font-family:PDM,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Arial}.font-pdm-black{font-family:PDM-Black,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Arial}html{box-sizing:border-box;scroll-behavior:smooth;overflow-x:hidden}body,html{background:#222222;background:var(--color-app-bg);min-height:100%;min-width:100%}*,:after,:before{box-sizing:inherit}body{margin:0;color:rgba(255,255,255,.92);color:var(--text-primary);background-image:url(/assets/tilebg-diagonal.png);background-repeat:repeat;background-position:top;background-size:30px}@supports (min-height:100svh){body{min-height:100svh}}a{color:inherit;-webkit-text-decoration:none;text-decoration:none}.app-container{width:100%;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:0}@supports (min-height:100svh){.app-container{min-height:100svh}}.page-shell{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:calc(16px * 1.5);gap:calc(var(--u) * 1.5);align-items:center;flex:1;padding:0;box-sizing:border-box}.page-shell.auth-shell,.page-shell.dashboard-page{max-width:none;align-items:stretch;padding:0}.auth-window{width:100dvw;height:100dvh;min-height:100dvh;padding:16px;padding:var(--u);display:flex;align-items:center;justify-content:center;box-sizing:border-box}@supports (min-height:100svh){.auth-window{height:100svh;min-height:100svh}}.dashboard-layout{display:flex;width:100%;height:100dvh;min-height:100dvh;align-items:stretch;position:relative;overflow:hidden}@supports (min-height:100svh){.dashboard-layout{height:100svh;min-height:100svh}}.dashboard-content{flex:1;display:flex;flex-direction:column;width:100%;box-sizing:border-box;min-width:0;overflow-y:auto;container-name:dashboard-content;container-type:inline-size}.dashboard-shell-header{flex:0 0 auto}.dashboard-shell-content,.dashboard-shell-header{width:100%;padding:16px 16px 0;padding:var(--u) var(--u) 0}.dashboard-shell-content{min-width:0;display:flex;flex-direction:column;transition:padding-right .2s ease,padding-left .2s ease}.dashboard-content-workspace{overflow:hidden}.dashboard-shell-content-workspace{min-height:0;flex:1;overflow:hidden;padding-bottom:0}.dashboard-page{width:100%;max-width:calc(16px * 72);max-width:var(--page-max);align-self:center;margin:0 auto;min-width:0;display:flex;flex-direction:column;gap:16px;gap:var(--u);transition:max-width .2s ease}.page-edge-frame{transition:border-right-width .2s ease,border-left-width .2s ease,border-radius .2s ease}@container dashboard-content (max-width: 1183px){.dashboard-shell-content{padding-right:0;padding-left:0}.dashboard-page{max-width:100%;margin-right:0;margin-left:0}.dashboard-content .page-edge-frame{border-right-width:0;border-left-width:0;border-radius:0}}.dashboard-page-workspace{min-height:0;flex:1;overflow:hidden}.card{width:100%;max-width:calc(16px * 32);max-width:calc(var(--u) * 32);background:#222222;background:var(--surface-2);border:1px solid #333333;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-xl);padding:calc(16px * 1.5);padding:calc(var(--u) * 1.5)}.dashboard-heading{display:block}.card-header{display:flex;flex-direction:column;gap:calc(8px * 1.5);gap:calc(var(--u-h) * 1.5);align-items:center;text-align:center}.logo-mark{width:calc(16px * 3.5);width:calc(var(--u) * 3.5);height:calc(16px * 3.5);height:calc(var(--u) * 3.5)}.title{margin:0;font-family:PDM-Black,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Arial;letter-spacing:calc(16px * -.02);letter-spacing:calc(var(--u) * -.02);font-size:calc(16px * 1.5);font-size:calc(var(--u) * 1.5)}.muted{color:rgba(255,255,255,.7);color:var(--text-secondary);margin:0;font-size:calc(16px * .95);font-size:calc(var(--u) * .95)}.button{--btn-bg:#333;--btn-hover-bg:#444;--btn-border:#555;--btn-hover-border:#777;--btn-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;gap:var(--u-h);border:1px solid #555;border:1px solid var(--btn-border);background:#333;background:var(--btn-bg);color:#fff;color:var(--btn-color);border-radius:8px;border-radius:var(--radius-m);padding:calc(4px * 2) calc(16px * .8);padding:calc(var(--u-q) * 2) calc(var(--u) * .8);font-size:calc(16px * .9);font-size:calc(var(--u) * .9);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease}.button:hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-border)}.button:active{transform:translateY(1px)}.button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(28,117,188,.3);box-shadow:var(--focus-ring)}.button:disabled{opacity:.5;cursor:default;pointer-events:none}.button--primary{--btn-bg:var(--accent-color);--btn-hover-bg:var(--accent-hover);--btn-border:var(--accent-color);--btn-hover-border:var(--accent-hover)}.button--danger{--btn-bg:transparent;--btn-hover-bg:rgba(239,65,54,0.14);--btn-border:var(--border-strong);--btn-hover-border:var(--pdm-red);--btn-color:var(--pdm-red)}.button--ghost{--btn-bg:transparent;--btn-hover-bg:var(--surface-3);--btn-border:transparent;--btn-hover-border:var(--border)}.button--sm{padding:calc(4px * 1.25) calc(16px * .6);padding:calc(var(--u-q) * 1.25) calc(var(--u) * .6);font-size:calc(16px * .8);font-size:calc(var(--u) * .8)}.icon-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:#1C75BC;color:var(--pdm-blue);width:calc(16px * 2);width:calc(var(--u) * 2);height:calc(16px * 2);height:calc(var(--u) * 2);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:color .15s ease,transform .12s ease}.icon-button:hover{color:#8cc4ff;color:var(--pdm-blue-light)}.icon-button:focus-visible{outline:2px solid #1C75BC;outline:2px solid var(--pdm-blue);outline-offset:2px}.icon-button:active{transform:translateY(1px)}.surface-block{width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:16px;gap:var(--u);background:#222222;background:var(--surface-2);border:1px solid #333333;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-l);padding:calc(16px * 1.25);padding:var(--surface-content-padding)}.page-tabs+.surface-block{border-top-left-radius:0}.input{width:100%;padding:calc(16px * .75);padding:calc(var(--u) * .75);border-radius:6px;border-radius:var(--radius-s);border:1px solid #333333;border:1px solid var(--border);background:#1b1b1b;background:var(--surface-1);color:#fff;font-size:16px;font-size:var(--u);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;outline:none}.input:focus{border-color:#1C75BC;border-color:var(--pdm-blue);box-shadow:0 0 0 3px rgba(28,117,188,.3);box-shadow:var(--focus-ring)}.input::-moz-placeholder{color:rgba(255,255,255,.55);color:var(--text-tertiary)}.input::placeholder{color:rgba(255,255,255,.55);color:var(--text-tertiary)}.input:-webkit-autofill,.input:-webkit-autofill:focus,.input:-webkit-autofill:hover{-webkit-text-fill-color:#fff;box-shadow:inset 0 0 0 1000px #1b1b1b;box-shadow:0 0 0 1000px var(--surface-1) inset;border-color:#333333;border-color:var(--border)}.skeleton{position:relative;overflow:hidden;background:#2a2a2a;background:var(--surface-3);border-radius:6px;border-radius:var(--radius-s);min-height:16px;min-height:var(--u)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:skeleton-sweep 1.4s ease-in-out infinite}@keyframes skeleton-sweep{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.dashboard-page,.dashboard-shell-content,.page-edge-frame{transition:none}.skeleton:after{animation:none}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;gap:var(--u-h);padding:calc(16px * 2) 16px;padding:calc(var(--u) * 2) var(--u);text-align:center;color:rgba(255,255,255,.7);color:var(--text-secondary);border:1px dashed #333333;border:1px dashed var(--border);border-radius:12px;border-radius:var(--radius-l)}.empty-state-title{margin:0;font-weight:600;color:rgba(255,255,255,.92);color:var(--text-primary);font-size:calc(16px * .95);font-size:calc(var(--u) * .95)}.empty-state-hint{margin:0;font-size:calc(16px * .85);font-size:calc(var(--u) * .85);color:rgba(255,255,255,.55);color:var(--text-tertiary)}@media (max-width:699px){.card{max-width:100%}.dashboard-layout{flex-direction:column}.dashboard-mobilebar{display:flex}.dashboard-shell-header{display:none}.dashboard-shell-content{padding-top:calc(16px * 4);padding-top:calc(var(--u) * 4)}.dashboard-heading{display:none}}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483645;background:var(--surface-2);display:flex;align-items:center;justify-content:center;pointer-events:auto;opacity:1;visibility:visible;transition:opacity .22s ease-out,visibility .22s ease-out}.loading-overlay--hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-overlay__logo{width:calc(var(--u) * 3.25);height:calc(var(--u) * 3.25);opacity:0;animation:loading-logo-intro .2s ease-in forwards}.loading-overlay__logo svg{width:100%;height:100%;display:block}.loading-overlay__logo [data-segment]{fill:#ffffff;opacity:.2;animation:loading-logo-cycle .8s linear infinite;transform-origin:center}.loading-overlay__logo [data-segment=red-quadrant],.loading-overlay__logo [data-segment=yellow-bow]{animation-delay:0s}.loading-overlay__logo [data-segment=blue-quadrant],.loading-overlay__logo [data-segment=green-bow]{animation-delay:.2s}.loading-overlay__logo [data-segment=yellow-quadrant]{animation-delay:.4s}.loading-overlay__logo [data-segment=green-quadrant]{animation-delay:.6s}.loading-overlay__logo--paused [data-segment]{animation:none;opacity:0}@keyframes loading-logo-intro{0%{opacity:0}to{opacity:1}}@keyframes loading-logo-cycle{0%,25%{opacity:.5}25.01%,to{opacity:.2}}@media (prefers-reduced-motion:reduce){.loading-overlay__logo [data-segment]{animation-duration:1.6s}}