:root{--bg: #eefbf8;--panel: rgba(255, 255, 255, .58);--panel-strong: rgba(255, 255, 255, .76);--panel-soft: rgba(255, 255, 255, .34);--ink: #16343a;--muted: #6b8589;--line: rgba(255, 255, 255, .62);--line-deep: rgba(103, 146, 150, .2);--mint: #83f1d1;--cyan: #22d3ee;--leaf: #2fbf8f;--gold: #c9953d;--rose: #e8ad9c;--shadow: 0 24px 70px rgba(31, 75, 82, .15);--blur: blur(24px) saturate(1.22);--shell-blur: blur(10px) saturate(1.52);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#app{height:100%;min-height:100%}body{margin:0;overflow:hidden;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#e8fcf8f0,#fbfffcd6 38%,#fff4eee0),url(/studio-login.jpg) center/cover fixed}body:before,body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}#app{position:relative;z-index:1}body:before{background-image:linear-gradient(rgba(255,255,255,.42) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.34) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 78%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 78%)}body:after{background:linear-gradient(120deg,rgba(255,255,255,.5),transparent 28%,rgba(131,241,209,.16) 52%,transparent 74%),linear-gradient(180deg,rgba(255,255,255,.42),transparent 34%,rgba(255,255,255,.28));animation:ambientSheen 14s var(--ease-smooth) infinite alternate}@keyframes ambientSheen{0%{opacity:.72;transform:translate3d(-10px,-8px,0)}to{opacity:.96;transform:translate3d(10px,8px,0)}}@keyframes softRiseIn{0%{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate3d(-18px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes topbarIn{0%{opacity:0;transform:translate3d(0,-12px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes lineFlow{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes modalPopIn{0%{opacity:0;transform:translate3d(0,8px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}.admin-shell{position:relative;height:100vh;min-height:0;overflow:hidden;background:transparent}.sider{height:100vh;min-height:0;background:#edf8f5!important;border-right:1px solid #b9ddd9;box-shadow:8px 0 22px #1b484c1f;-webkit-backdrop-filter:none;backdrop-filter:none;animation:slideInLeft .42s var(--ease-out) both;transition:width .24s var(--ease-out),min-width .24s var(--ease-out),max-width .24s var(--ease-out),box-shadow .2s ease}.admin-shell>.ant-layout{min-width:0;height:100vh;overflow:hidden}.sider .ant-layout-sider-children{height:100%;display:flex;flex-direction:column;overflow:hidden;background:#edf8f5}.brand{height:76px;flex:0 0 76px;display:flex;align-items:center;gap:12px;padding:0 20px;color:var(--ink);background:#f7fffc;border-bottom:1px solid #c7e5e1;overflow:hidden}.brand-mark{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,#fff,#e9fff8),linear-gradient(135deg,#23d6a7e6,#11a8c2ad);border:1px solid #a7d9d2;color:#056974;font-size:20px;font-weight:850;box-shadow:0 14px 34px #196f7733;transition:transform .22s var(--ease-out),box-shadow .22s ease}.brand:hover .brand-mark{transform:translateY(-1px) scale(1.03);box-shadow:0 18px 38px #196f773d}.brand strong,.brand small{display:block}.brand-copy{min-width:0;overflow:hidden;transition:opacity .16s ease,transform .16s ease}.brand strong{color:#173f45;font-size:16px;line-height:1.35;letter-spacing:0;white-space:nowrap}.brand small{margin-top:2px;color:#5b7378;font-size:11px;white-space:nowrap}.sider .ant-menu{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 12px 12px;background:#edf8f5;border-inline-end:0!important}.sider .ant-menu-item{position:relative;display:flex;align-items:center;gap:10px;height:44px;margin:0 0 8px;padding-inline:14px!important;border-radius:8px;color:#285a60;font-size:14px;background:#edf8f5;animation:softRiseIn .32s var(--ease-out) both;transition:transform .18s var(--ease-out),background .18s ease,box-shadow .18s ease,color .18s ease}.sider .ant-menu-item:nth-child(1){animation-delay:.03s}.sider .ant-menu-item:nth-child(2){animation-delay:.06s}.sider .ant-menu-item:nth-child(3){animation-delay:.09s}.sider .ant-menu-item:nth-child(4){animation-delay:.12s}.sider .ant-menu-item:nth-child(5){animation-delay:.15s}.sider .ant-menu-item:nth-child(6){animation-delay:.18s}.sider .ant-menu-item:nth-child(7){animation-delay:.21s}.sider .ant-menu-item:nth-child(8){animation-delay:.24s}.sider .ant-menu-item:nth-child(9){animation-delay:.27s}.sider .ant-menu-item .anticon{flex:0 0 18px;color:#178c96;font-size:16px}.sider .ant-menu-item .menu-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sider .ant-menu-item:hover{color:#0f454b!important;background:#e2f6f1!important;transform:translate(2px)}.sider .ant-menu-item-selected{color:#0a3f46!important;background:#fff!important;box-shadow:0 6px 14px #1f747c1a}.sider .ant-menu-item-selected:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:4px;border-radius:999px;background:linear-gradient(180deg,#21c7d7,#31c99f)}.sider .ant-menu-item-selected .anticon{color:var(--leaf)}.sider.ant-layout-sider-collapsed .brand{justify-content:center;padding:0}.sider.ant-layout-sider-collapsed .brand-copy{width:0;opacity:0;transform:translate(-8px)}.sider.ant-layout-sider-collapsed .ant-menu{padding:16px 8px}.sider.ant-layout-sider-collapsed .ant-menu-item{gap:0;padding-inline:calc(50% - 8px)!important}.sider.ant-layout-sider-collapsed .ant-menu-item .anticon{flex-basis:auto;margin-inline-end:0}.sider.ant-layout-sider-collapsed .ant-menu-item .menu-label{width:0;opacity:0}.ant-layout-header.topbar{position:relative;height:76px;min-height:76px;flex:0 0 76px;line-height:normal;padding:0 28px;background:linear-gradient(90deg,#fbfffd,#f4fffb 48%,#fffdfb),linear-gradient(90deg,#24ceaa1f,#22d3ee1a);-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(43,130,139,.22);box-shadow:0 10px 24px #1f4b521a;animation:topbarIn .42s var(--ease-out) .05s both}.ant-layout-header.topbar:before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#35d7b4,#25c7d9,#c9953d94,#35d7b4);background-size:220% 100%;animation:lineFlow 5.6s var(--ease-smooth) infinite alternate}.ant-layout-header.topbar>*{position:relative;z-index:1}.topbar-main{min-width:0;display:flex;align-items:center;gap:14px}.topbar-collapse-btn{width:38px;height:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;color:#0d6872;border:1px solid rgba(36,145,154,.28);background:#fff;box-shadow:0 8px 18px #1f747c14;transition:transform .16s var(--ease-out),border-color .16s ease,box-shadow .16s ease,background .16s ease}.topbar-collapse-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px #1f747c21}.topbar-collapse-btn:active{transform:translateY(0) scale(.98)}.topbar-collapse-btn .anticon{font-size:17px}.topbar-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.topbar-title,.topbar-subtitle{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-title{color:#0e3d45;font-size:16px;font-weight:820;line-height:1.35}.topbar-subtitle{margin-top:2px;color:#486a70;font-size:12px;font-weight:680;line-height:1.35}.topbar-actions{flex:0 0 auto;display:flex;align-items:center;gap:12px}.status-pill{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;color:#0b737d;background:#ebfff9;border:1px solid rgba(70,203,178,.26);box-shadow:0 10px 26px #1f747c1f;font-size:12px;font-weight:720;transition:transform .18s var(--ease-out),box-shadow .18s ease}.status-pill:hover{transform:translateY(-1px);box-shadow:0 13px 28px #1f747c29}.content{flex:1 1 auto;min-height:0;height:calc(100vh - 76px);overflow-y:auto;overflow-x:hidden;padding:16px;scroll-behavior:smooth}.page-card{position:relative;overflow:hidden;min-height:calc(100vh - 136px);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:30px;box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);animation:softRiseIn .46s var(--ease-out) both}.page-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--mint),var(--cyan),var(--rose),var(--gold),var(--mint));background-size:240% 100%;animation:lineFlow 6.5s var(--ease-smooth) infinite alternate}.page-card:after{content:"";position:absolute;inset:3px 0 auto 0;height:150px;background:linear-gradient(180deg,rgba(255,255,255,.48),transparent);pointer-events:none}.page-card>*{position:relative;z-index:1}.page-head,.dashboard-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.dashboard-hero{padding:6px 0 4px}.section-kicker{display:inline-flex;margin-bottom:10px;color:#0b7780;font-size:12px;font-weight:820;letter-spacing:.04em;text-transform:uppercase}.page-title{position:relative;margin:0;padding-left:14px;color:var(--ink);font-size:26px;font-weight:820;letter-spacing:0}.page-title:before{content:"";position:absolute;left:0;top:5px;width:4px;height:25px;border-radius:999px;background:linear-gradient(180deg,var(--cyan),var(--leaf))}.hero-copy{width:min(680px,100%);margin:12px 0 0;color:#526f74;line-height:1.8}.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 20px}.metric-card{min-height:126px;padding:20px;border-radius:8px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(145deg,#ffffffb3,#ffffff57),linear-gradient(145deg,rgba(131,241,209,.18),transparent 60%);box-shadow:0 18px 40px #1f4b521a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .18s var(--ease-out),box-shadow .18s ease,border-color .18s ease}.metric-card:hover{transform:translateY(-2px);border-color:#2fbf8f4d;box-shadow:0 22px 46px #1f4b5224}.metric-card span,.metric-card small{display:block}.metric-card span{color:#548085;font-size:12px;font-weight:720}.metric-card strong{display:block;margin:12px 0 8px;color:#103a40;font-size:28px;line-height:1.1;font-weight:860}.metric-card small{color:#6d8588;line-height:1.5}.form-grid{max-width:960px}.image-preview{width:172px;height:116px;object-fit:cover;border-radius:8px;border:1px solid rgba(255,255,255,.74);box-shadow:0 14px 34px #1f4b521f;transition:transform .18s var(--ease-out),box-shadow .18s ease}.work-cover{width:78px;height:78px;object-fit:cover;border-radius:8px;border:1px solid rgba(255,255,255,.74);box-shadow:0 12px 26px #1f4b521c;transition:transform .18s var(--ease-out),box-shadow .18s ease}.image-preview:hover,.work-cover:hover{transform:scale(1.025);box-shadow:0 18px 38px #1f4b5229}.dashboard-grid .ant-card,.studio-card{height:100%}.studio-card p{margin:0;color:var(--muted);line-height:1.85}.studio-card-feature{background:linear-gradient(145deg,#ffffffc7,#ffffff61),linear-gradient(145deg,#22d3ee2e,#e8ad9c1f)!important}.ant-layout{background:transparent}.ant-btn{border-radius:8px;border-color:#67929642;color:#24575d;background:#ffffff8f;box-shadow:none;transition:transform .16s var(--ease-out),border-color .16s ease,color .16s ease,background .16s ease,box-shadow .16s ease}.ant-btn:hover{border-color:var(--leaf);color:#0c737c;background:#ffffffc7;transform:translateY(-1px);box-shadow:0 10px 22px #1f747c14}.ant-btn:active{transform:translateY(0) scale(.985)}.ant-btn-primary{border-color:transparent!important;background:linear-gradient(135deg,#22c6bd,#42d9a7)!important;color:#06383b!important;box-shadow:0 14px 30px #22c6bd3d}.ant-btn-primary:hover{background:linear-gradient(135deg,#14b8b4,#2fcf96)!important;color:#053235!important}.ant-btn-dangerous{color:#b45f50;border-color:#e8ad9c80;background:#fff8f6c7}.ant-card{border-radius:8px;border-color:#ffffffad;background:var(--panel-strong);box-shadow:0 18px 42px #1f4b5217;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .18s var(--ease-out),box-shadow .18s ease,border-color .18s ease}.ant-card:hover{transform:translateY(-2px);border-color:#2fbf8f42;box-shadow:0 22px 48px #1f4b5221}.ant-card-head{border-bottom-color:#6792962e}.ant-card-head-title{color:#173f44;font-weight:760}.ant-alert{border-radius:8px;border-color:#ffffffad;background:#ffffff8f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.ant-alert-info{border-color:#22d3ee3d;background:#ecfeffa8}.ant-table-wrapper .ant-table{overflow:hidden;border-radius:8px;background:#ffffff9e;color:var(--ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:softRiseIn .42s var(--ease-out) .08s both}.ant-table-wrapper .ant-table-thead>tr>th{border-bottom:1px solid rgba(103,146,150,.18);background:#ecfeffb3;color:#315f64;font-weight:760}.ant-table-wrapper .ant-table-tbody>tr>td{border-bottom-color:#67929621;background:#ffffff61;transition:background .18s ease,transform .18s var(--ease-out),box-shadow .18s ease}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#ecfeffb8!important;transform:translate(2px)}.ant-tag{border-radius:999px;padding:1px 10px;border-color:#67929638;background:#fff9}.ant-form-item-label>label{color:#234c52;font-weight:680}.ant-input,.ant-input-number,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker,textarea.ant-input{border-radius:8px!important;border-color:#67929647!important;background:#ffffffb8!important;color:var(--ink)!important;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s var(--ease-out)}.ant-input:hover,.ant-input-number:hover,.ant-input-affix-wrapper:hover,.ant-select-selector:hover,.ant-picker:hover,textarea.ant-input:hover{border-color:var(--leaf)!important;transform:translateY(-1px)}.ant-input:focus,.ant-input-focused,.ant-input-number-focused,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused,textarea.ant-input:focus{border-color:var(--leaf)!important;box-shadow:0 0 0 3px #2fbf8f26!important;transform:translateY(-1px)}.ant-divider-horizontal.ant-divider-with-text{color:#456d72;border-block-start-color:#67929638}.ant-modal .ant-modal-content{border-radius:8px;border:1px solid rgba(255,255,255,.72);background:#ffffffd1;box-shadow:0 30px 90px #1f4b5238;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);animation:modalPopIn .22s var(--ease-out) both}.ant-modal .ant-modal-header{background:transparent;border-bottom:1px solid rgba(103,146,150,.18)}.ant-modal .ant-modal-title{color:var(--ink);font-weight:780}.ant-descriptions-bordered .ant-descriptions-view{border-color:#67929633;border-radius:8px;overflow:hidden}.ant-descriptions .ant-descriptions-item-label{background:#ecfeffb3;color:#315f64;font-weight:740}.ant-switch.ant-switch-checked{background:var(--leaf)}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#ecfeffad,#fff6f057),url(/studio-login.jpg) center/cover}.login-card{width:min(430px,100%);padding:36px;border-radius:8px;background:#ffffff9e;border:1px solid rgba(255,255,255,.72);box-shadow:0 34px 96px #14333738;-webkit-backdrop-filter:blur(26px) saturate(1.2);backdrop-filter:blur(26px) saturate(1.2);animation:softRiseIn .48s var(--ease-out) both}.login-kicker{margin-bottom:12px;color:#0d7780;font-size:12px;font-weight:820;letter-spacing:.04em;text-transform:uppercase}.login-card h1{margin:0;color:var(--ink);font-size:27px;font-weight:820}.login-card p{margin:10px 0 24px;color:#507279;line-height:1.7}.json-box{border:1px solid rgba(22,52,58,.24);background:#ffffffa8}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:900px){.sider:not(.ant-layout-sider-collapsed){width:210px!important;min-width:210px!important;max-width:210px!important}.sider.ant-layout-sider-collapsed{width:76px!important;min-width:76px!important;max-width:76px!important}.content{padding:16px}.page-card{padding:22px}.page-head,.dashboard-hero,.topbar{align-items:flex-start;flex-direction:column}.topbar{height:auto;padding:18px}.ant-layout-header.topbar{height:auto;min-height:76px;padding:12px 14px;gap:10px}.topbar-main,.topbar-actions{width:100%}.topbar-actions{flex-wrap:wrap}.metric-strip{grid-template-columns:1fr}.dashboard-grid .ant-col{flex:0 0 100%!important;max-width:100%!important;margin-bottom:16px}}
