*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-3\.5{height:.875rem}.w-3\.5{width:.875rem}.shrink-0{flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-brass\/40{border-color:rgb(15 111 100/.4)}.border-ink\/10{border-color:rgb(32 38 36/.1)}.border-ink\/15{border-color:rgb(32 38 36/.15)}.border-ink\/20{border-color:rgb(32 38 36/.2)}.border-ink\/25{border-color:rgb(32 38 36/.25)}.border-moss\/60{border-color:rgb(37 139 90/.6)}.border-oxblood{--tw-border-opacity:1;border-color:rgb(197 61 51/var(--tw-border-opacity,1))}.border-oxblood\/40{border-color:rgb(197 61 51/.4)}.bg-brass{--tw-bg-opacity:1;background-color:rgb(15 111 100/var(--tw-bg-opacity,1))}.bg-brass\/10{background-color:rgb(15 111 100/.1)}.bg-card{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-card,.bg-ink{--tw-bg-opacity:1}.bg-ink{background-color:rgb(32 38 36/var(--tw-bg-opacity,1))}.bg-moss\/5{background-color:rgb(37 139 90/.05)}.bg-oxblood{--tw-bg-opacity:1;background-color:rgb(197 61 51/var(--tw-bg-opacity,1))}.bg-oxblood\/5{background-color:rgb(197 61 51/.05)}.bg-paper\/60{background-color:rgb(246 247 244/.6)}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pl-4{padding-left:1rem}.pt-3{padding-top:.75rem}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.text-brass{--tw-text-opacity:1;color:rgb(15 111 100/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(32 38 36/var(--tw-text-opacity,1))}.text-ink\/45{color:rgb(32 38 36/.45)}.text-ink\/55{color:rgb(32 38 36/.55)}.text-ink\/60{color:rgb(32 38 36/.6)}.text-ink\/65{color:rgb(32 38 36/.65)}.text-ink\/70{color:rgb(32 38 36/.7)}.text-moss{--tw-text-opacity:1;color:rgb(37 139 90/var(--tw-text-opacity,1))}.text-oxblood{--tw-text-opacity:1;color:rgb(197 61 51/var(--tw-text-opacity,1))}.text-paper{--tw-text-opacity:1;color:rgb(246 247 244/var(--tw-text-opacity,1))}.accent-oxblood{accent-color:#c53d33}.shadow-sketch{--tw-shadow:0 12px 34px rgba(25,33,30,0.08);--tw-shadow-colored:0 12px 34px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{color-scheme:light;background:#f6f7f4;color:#202624}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(90deg,rgba(15,111,100,.035) 1px,transparent 0),linear-gradient(rgba(15,111,100,.03) 1px,transparent 0),#f6f7f4;background-size:24px 24px;font-family:PingFang SC,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}::-moz-selection{background:rgba(15,111,100,.18);color:#202624}::selection{background:rgba(15,111,100,.18);color:#202624}.hover\:border-moss:hover{--tw-border-opacity:1;border-color:rgb(37 139 90/var(--tw-border-opacity,1))}.hover\:border-oxblood:hover{--tw-border-opacity:1;border-color:rgb(197 61 51/var(--tw-border-opacity,1))}.hover\:bg-brass:hover{--tw-bg-opacity:1;background-color:rgb(15 111 100/var(--tw-bg-opacity,1))}.hover\:bg-ink:hover{--tw-bg-opacity:1;background-color:rgb(32 38 36/var(--tw-bg-opacity,1))}.hover\:bg-oxblood:hover{--tw-bg-opacity:1;background-color:rgb(197 61 51/var(--tw-bg-opacity,1))}.hover\:text-moss:hover{--tw-text-opacity:1;color:rgb(37 139 90/var(--tw-text-opacity,1))}.hover\:text-oxblood:hover{--tw-text-opacity:1;color:rgb(197 61 51/var(--tw-text-opacity,1))}.hover\:text-paper:hover{--tw-text-opacity:1;color:rgb(246 247 244/var(--tw-text-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.platform-shell{--platform-bg:#f6f7f4;--platform-surface:#ffffff;--platform-soft:#f2f4f0;--platform-line:#e1e5df;--platform-line-strong:#cfd7d0;--platform-ink:#202624;--platform-muted:#6d7773;--platform-faint:#9aa39f;--platform-accent:#0f6f64;--platform-accent-strong:#0b5c53;--platform-accent-soft:rgba(15,111,100,0.1);--platform-green:#258b5a;--platform-amber:#7d6c3b;--platform-red:#c53d33;--platform-shadow:0 12px 34px rgba(25,33,30,0.08);min-height:100dvh;display:grid;grid-template-columns:236px minmax(0,1fr);background:linear-gradient(90deg,rgba(15,111,100,.035) 1px,transparent 1px),linear-gradient(rgba(15,111,100,.03) 1px,transparent 1px),var(--platform-bg);background-size:24px 24px;color:var(--platform-ink);font-family:PingFang SC,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.platform-shell *{box-sizing:border-box}.platform-sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:18px;padding:18px 14px;border-right:1px solid var(--platform-line);background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}.platform-brand{display:flex;align-items:center;gap:11px;min-height:42px;color:var(--platform-ink);text-decoration:none}.platform-brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--platform-accent);background:var(--platform-accent-soft)}.platform-brand small,.platform-brand strong{display:block;line-height:1.2}.platform-brand strong{font-size:17px}.platform-brand small{margin-top:2px;color:var(--platform-faint);font-size:11px}.platform-nav{display:grid;gap:5px}.platform-button,.platform-create,.platform-icon-button,.platform-nav-item{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;text-decoration:none;transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease}.platform-nav-item{justify-content:flex-start;height:38px;padding:0 11px;color:#626675;font-size:14px}.platform-nav-item.is-active,.platform-nav-item:hover{color:var(--platform-accent);background:var(--platform-accent-soft)}.platform-create{height:40px;color:#fff;background:var(--platform-accent);box-shadow:0 10px 22px rgba(15,111,100,.18);font-weight:800}.platform-sidebar-card{margin-top:auto;display:grid;gap:10px;padding:12px;border:1px solid var(--platform-line);border-radius:10px;background:var(--platform-soft);color:var(--platform-muted);font-size:12px;line-height:1.65}.platform-sidebar-card svg{color:var(--platform-accent)}.platform-sidebar-card p{margin:0}.platform-main{min-width:0}.platform-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 24px;border-bottom:1px solid var(--platform-line);background:rgba(255,255,255,.84);backdrop-filter:blur(12px)}.platform-header h1{margin:0;color:var(--platform-ink);font-size:22px;font-weight:850;letter-spacing:0}.platform-header p{margin:5px 0 0;color:var(--platform-muted);font-size:13px}.platform-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.platform-content{width:min(1180px,calc(100vw - 284px));margin:0 auto;padding:24px}.platform-content--wide{width:min(1380px,calc(100vw - 284px))}.platform-button,.platform-form button,.platform-icon-button,.platform-inline-action{border:1px solid transparent;font-size:13px;font-weight:760;cursor:pointer}.platform-button{min-height:38px;padding:0 15px}.platform-button--primary{color:#fff;background:var(--platform-accent);box-shadow:0 9px 18px rgba(15,111,100,.16)}.platform-button--secondary,.platform-icon-button,.platform-inline-action{color:#4b5551;border-color:var(--platform-line);background:var(--platform-surface)}.platform-button:hover,.platform-icon-button:hover,.platform-inline-action:hover{transform:translateY(-1px)}.platform-grid{display:grid;gap:16px}.platform-grid--2{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.platform-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-card,.platform-empty,.platform-form-card,.platform-panel,.platform-table{border:1px solid var(--platform-line);border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(30,31,42,.05)}.platform-panel{padding:18px}.platform-card{overflow:hidden}.platform-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.platform-section-title h2,.platform-section-title h3{margin:0;font-size:15px;font-weight:850}.platform-kicker,.platform-muted,.platform-section-title p{color:var(--platform-muted);font-size:12px}.platform-kicker{margin:0 0 7px}.platform-dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:stretch;margin-bottom:18px}.platform-hero-copy{min-width:0;padding:24px;border:1px solid var(--platform-line);border-radius:12px;background:linear-gradient(135deg,rgba(15,111,100,.08),transparent 42%),var(--platform-surface);box-shadow:var(--platform-shadow)}.platform-hero-copy h2{max-width:680px;margin:0;color:var(--platform-ink);font-size:30px;line-height:1.18;font-weight:900}.platform-hero-copy p{max-width:690px;margin:12px 0 0;color:var(--platform-muted);font-size:14px;line-height:1.8;overflow-wrap:anywhere}.platform-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.platform-hero-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:40px}.platform-hero-flow span{min-height:38px;display:grid;place-items:center;border:1px solid rgba(15,111,100,.18);border-radius:8px;background:rgba(15,111,100,.055);color:#0b5c53;font-size:12px;font-weight:760}.platform-preview-strip{min-width:0;height:360px;position:relative;overflow:hidden;border:1px solid var(--platform-line);border-radius:12px;background:var(--platform-surface);box-shadow:var(--platform-shadow)}.platform-preview-strip img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;filter:grayscale(1)}.platform-preview-strip div{position:absolute;left:14px;right:14px;bottom:14px;padding:11px 12px;border:1px solid rgba(255,255,255,.56);border-radius:10px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px)}.platform-preview-strip strong{display:block;font-size:13px}.platform-preview-strip span{display:block;margin-top:2px;color:var(--platform-muted);font-size:12px}.platform-metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.platform-metric{min-width:0;padding:14px;border:1px solid var(--platform-line);border-radius:10px;background:var(--platform-surface)}.platform-metric span{color:var(--platform-muted);font-size:12px}.platform-metric strong{display:block;margin-top:5px;font-size:24px}.platform-metric small{display:block;margin-top:5px;color:var(--platform-faint);font-size:12px;line-height:1.45}.platform-metric-row--dense{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.platform-metric-row--dense .platform-metric{padding:12px}.platform-metric-row--dense .platform-metric strong{font-size:22px}.platform-page-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin-bottom:18px;padding:16px 18px;border:1px solid var(--platform-line);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:var(--platform-shadow)}.platform-page-summary h2{margin:0;color:var(--platform-ink);font-size:18px;font-weight:880;letter-spacing:0}.platform-page-summary p{margin:6px 0 0;color:var(--platform-muted);font-size:13px;line-height:1.65}.platform-chip-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.platform-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid rgba(15,111,100,.18);border-radius:999px;color:var(--platform-accent);background:var(--platform-accent-soft);font-size:12px;font-weight:760;white-space:nowrap}.platform-project-list{display:grid;gap:12px}.platform-project-card{display:grid;grid-template-columns:116px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px;color:inherit;text-decoration:none}.platform-thumb{overflow:hidden;border:1px solid var(--platform-line);border-radius:8px;background:#f0f1f5;aspect-ratio:4/3}.platform-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:grayscale(1)}.platform-project-card h3{margin:0;font-size:16px}.platform-project-card p{margin:6px 0 0;color:var(--platform-muted);font-size:12px;line-height:1.6}.platform-status{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border-radius:999px;background:#eef0f5;color:#626675;font-size:12px;font-weight:760;white-space:nowrap}.platform-status--done{color:#17784c;background:rgba(37,169,106,.12)}.platform-status--running{color:var(--platform-accent);background:var(--platform-accent-soft)}.platform-status--failed{color:var(--platform-red);background:rgba(215,77,77,.12)}.platform-progress{height:7px;overflow:hidden;border-radius:999px;background:#eceef4}.platform-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--platform-accent),#5b847d)}.platform-step,.platform-steps{display:grid;gap:10px}.platform-step{grid-template-columns:34px 1fr;align-items:start;padding:11px;border:1px solid var(--platform-line);border-radius:9px;background:var(--platform-soft)}.platform-step--disabled{opacity:.62;cursor:not-allowed}.platform-step b{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:var(--platform-accent);background:var(--platform-accent-soft)}.platform-step strong{display:block;font-size:13px}.platform-step span{display:block;margin-top:3px;color:var(--platform-muted);font-size:12px;line-height:1.55}.platform-form-card{padding:18px}.platform-form{display:grid;gap:14px}.platform-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.platform-form label{display:grid;gap:7px;color:var(--platform-muted);font-size:12px;font-weight:680}.platform-form label small{color:var(--platform-faint);font-size:12px;font-weight:500}.platform-form input,.platform-form select,.platform-form textarea{width:100%;border:1px solid var(--platform-line);border-radius:8px;background:var(--platform-surface);color:var(--platform-ink);padding:10px 11px;font-size:13px;line-height:1.5;outline:none}.platform-form textarea{resize:vertical}.platform-form input:focus,.platform-form select:focus,.platform-form textarea:focus{border-color:var(--platform-accent);box-shadow:0 0 0 3px var(--platform-accent-soft)}.platform-form button{min-height:42px;border-radius:8px;color:#fff;background:var(--platform-accent)}.platform-form button:disabled{opacity:.55;cursor:wait}.platform-form-error{margin:0;padding:10px 11px;border:1px solid rgba(215,77,77,.2);border-radius:8px;background:rgba(215,77,77,.08);color:var(--platform-red);font-size:12px}.platform-alert{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:14px;padding:12px;border:1px solid rgba(15,111,100,.18);border-radius:10px;background:rgba(15,111,100,.055)}.platform-alert>div:first-child{min-width:0;display:flex;align-items:flex-start;gap:9px}.platform-alert svg{flex:0 0 auto;color:var(--platform-accent)}.platform-alert small,.platform-alert strong{display:block}.platform-alert strong{color:var(--platform-ink);font-size:13px}.platform-alert small{margin-top:3px;color:var(--platform-muted);font-size:12px;line-height:1.55}.platform-alert--danger{border-color:rgba(197,61,51,.22);background:rgba(197,61,51,.055)}.platform-alert--danger svg{color:var(--platform-red)}.platform-retry-action{display:grid;justify-items:end;gap:6px;min-width:150px}.platform-retry-action .platform-button{white-space:nowrap}.platform-retry-error,.platform-retry-hint,.platform-retry-message{max-width:260px;color:var(--platform-muted);font-size:12px;line-height:1.45;text-align:right}.platform-retry-error{display:inline-flex;align-items:flex-start;justify-content:flex-end;gap:5px;color:var(--platform-red)}.platform-retry-hint{color:var(--platform-faint)}.spin{animation:platform-spin .85s linear infinite}@keyframes platform-spin{to{transform:rotate(1turn)}}.platform-table{overflow:hidden}.platform-row{display:grid;grid-template-columns:1.4fr .7fr .8fr .9fr auto;gap:14px;align-items:center;padding:13px 15px;border-top:1px solid var(--platform-line)}.platform-row:first-child{border-top:0}.platform-row--header{min-height:38px;background:var(--platform-soft);color:var(--platform-muted);font-size:12px;font-weight:780}.platform-row--task{grid-template-columns:1.2fr .72fr 1fr .8fr auto}.platform-row--asset{grid-template-columns:1.2fr .76fr .74fr .7fr auto}.platform-row a,.platform-row span,.platform-row strong{min-width:0}.platform-row span{color:var(--platform-muted);font-size:12px}.platform-row-progress{display:grid;gap:5px}.platform-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.platform-gallery--compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.platform-asset-card{overflow:hidden;border:1px solid var(--platform-line);border-radius:10px;background:var(--platform-surface)}.platform-asset-card img{width:100%;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;filter:grayscale(1);background:#f0f1f5}.platform-asset-card div{padding:10px}.platform-asset-card strong{display:block;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.platform-asset-card span{display:block;margin-top:3px;color:var(--platform-muted);font-size:12px}.platform-asset-section{display:grid;gap:14px}.platform-asset-section+.platform-asset-section{margin-top:16px}.platform-callout{display:grid;gap:8px;padding:14px;border:1px solid rgba(15,111,100,.18);border-radius:10px;background:rgba(15,111,100,.055)}.platform-callout strong{color:var(--platform-ink);font-size:14px}.platform-callout p{margin:0;color:var(--platform-muted);font-size:12px;line-height:1.65}.platform-empty{padding:34px;text-align:center;color:var(--platform-muted)}.platform-empty h2,.platform-empty h3{margin:0 0 7px;color:var(--platform-ink);font-size:18px}.platform-empty p{margin:0 auto;max-width:520px;font-size:13px;line-height:1.7}.platform-project-stage{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px}.platform-project-stage span{display:flex;align-items:center;justify-content:center;min-height:34px;border:1px solid var(--platform-line);border-radius:8px;background:var(--platform-surface);color:var(--platform-muted);font-size:12px}.platform-project-stage .is-active,.platform-project-stage .is-done{border-color:rgba(15,111,100,.36);color:var(--platform-accent);background:var(--platform-accent-soft)}.platform-project-overview{align-items:stretch}.platform-project-progress-card{align-content:start}.platform-project-progress-card .platform-muted{line-height:1.75}.platform-panel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.platform-panel-card{overflow:hidden;border:1px solid var(--platform-line);border-radius:10px;background:var(--platform-surface)}.platform-panel-card--failed{border-color:rgba(197,61,51,.35);background:rgba(197,61,51,.035)}.platform-panel-card figure{margin:0;overflow:hidden;aspect-ratio:4/3;background:#f0f1f5}.platform-panel-card img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:grayscale(1)}.platform-panel-card-body{display:grid;gap:8px;padding:10px}.platform-panel-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.platform-panel-card-head .platform-status{flex:0 0 auto}.platform-panel-card strong{font-size:13px}.platform-panel-card p{margin:0;line-height:1.55}.platform-panel-card p,.platform-panel-card-details{color:var(--platform-muted);font-size:12px}.platform-panel-card-details summary{display:inline-flex;align-items:center;min-height:24px;color:var(--platform-accent);cursor:pointer;font-weight:760}.platform-panel-card-details summary::-webkit-details-marker{display:none}.platform-panel-card-details summary:after{content:"＋";margin-left:4px;color:var(--platform-faint);font-weight:700}.platform-panel-card-details[open] summary:after{content:"－"}.platform-panel-card-details span{display:block;margin-top:4px;line-height:1.55}.platform-panel-card small{display:block;margin-top:0;overflow:hidden;color:var(--platform-red);font-size:11px;line-height:1.45;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (max-width:1120px){.platform-shell{grid-template-columns:72px minmax(0,1fr)}.platform-sidebar{padding-inline:10px}.platform-brand span:last-child,.platform-create,.platform-nav-item span,.platform-sidebar-card{display:none}.platform-brand,.platform-nav-item{justify-content:center}.platform-content,.platform-content--wide{width:min(100%,calc(100vw - 72px))}.platform-dashboard-hero,.platform-grid--2{grid-template-columns:1fr}.platform-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-metric-row--dense{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:760px){.platform-shell{display:block;width:100%;overflow-x:hidden}.platform-sidebar{position:sticky;z-index:10;width:100%;max-width:100vw;height:auto;flex-direction:row;align-items:center;gap:10px;padding:10px 14px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-right:0;border-bottom:1px solid var(--platform-line)}.platform-sidebar::-webkit-scrollbar{display:none}.platform-brand{flex:0 0 auto;min-width:42px}.platform-nav{display:flex;flex:1 1 auto;justify-content:space-between;gap:2px;min-width:0}.platform-nav-item{flex:0 0 38px;width:38px;height:42px;padding:0}.platform-header{align-items:flex-start;flex-direction:column;padding:14px}.platform-content,.platform-content--wide{width:100%;max-width:100vw;padding:14px;overflow-x:hidden}.platform-page-summary{grid-template-columns:1fr;padding:15px}.platform-project-summary{gap:10px;margin-bottom:12px;padding:12px}.platform-project-summary h2{font-size:16px}.platform-project-summary p{display:none}.platform-chip-row{justify-content:flex-start}.platform-project-summary .platform-chip-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.platform-project-summary .platform-chip{justify-content:center;min-height:30px;padding:0 6px;font-size:12px}.platform-dashboard-hero,.platform-form-grid,.platform-grid--2,.platform-grid--3,.platform-hero-flow,.platform-metric-row,.platform-project-card,.platform-project-stage,.platform-row{grid-template-columns:1fr}.platform-hero-copy{padding:18px}.platform-hero-copy h2{max-width:310px;font-size:25px;line-height:1.24;overflow-wrap:anywhere;word-break:break-all}.platform-hero-copy p{max-width:315px;word-break:break-all}.platform-hero-flow{margin-top:18px}.platform-preview-strip{height:320px}.platform-project-overview{gap:10px}.platform-project-progress-card{padding:14px}.platform-project-progress-card .platform-section-title{align-items:center;margin-bottom:10px}.platform-project-progress-card .platform-section-title p{display:none}.platform-project-progress-card .platform-progress{height:8px}.platform-project-progress-card .platform-metric-row--dense{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px!important}.platform-project-progress-card .platform-metric-row--dense .platform-metric{min-height:58px;padding:8px 5px;text-align:center}.platform-project-progress-card .platform-metric-row--dense .platform-metric span{font-size:11px;white-space:nowrap}.platform-project-progress-card .platform-metric-row--dense .platform-metric strong{margin-top:2px;font-size:18px}.platform-project-progress-card>.platform-muted{display:-webkit-box;margin-top:10px!important;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.platform-preview-strip--project{height:210px}.platform-project-stage--compact{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-bottom:10px}.platform-project-stage--compact span{min-height:30px;padding:0 4px;font-size:11px;white-space:nowrap}.platform-row{gap:6px}.platform-gallery{grid-template-columns:1fr;gap:10px}.platform-asset-card{display:grid;grid-template-columns:96px minmax(0,1fr);min-height:112px}.platform-asset-card img{width:96px;height:100%;min-height:112px;max-height:146px;aspect-ratio:auto}.platform-asset-card div{min-width:0;display:grid;align-content:center;padding:10px 11px}.platform-asset-card .platform-button{justify-self:start;min-height:32px;margin-top:7px!important;padding:0 10px}.platform-panel-grid{grid-template-columns:1fr;gap:10px}.platform-panel-card{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:126px}.platform-panel-card figure{height:100%;min-height:126px;aspect-ratio:auto}.platform-panel-card-body{min-width:0;align-content:start;gap:6px;padding:9px 10px}.platform-panel-card-head{gap:8px}.platform-panel-card p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.platform-panel-card-details summary{min-height:26px}.platform-row--header{display:none}.platform-card,.platform-empty,.platform-form-card,.platform-panel,.platform-table{min-width:0}.platform-form input,.platform-form select,.platform-form textarea{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.platform-alert{grid-template-columns:1fr}.platform-retry-action{justify-items:stretch;min-width:0}.platform-retry-action .platform-button{width:100%}.platform-retry-error,.platform-retry-hint,.platform-retry-message{max-width:none;text-align:left}}