:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e9eaf0;background:#0e1016;font-synthesis:none;--bg:#0e1016;--panel:#171b24;--panel2:#1c212d;--line:#2b3140;--ink:#edeef4;--sub:#9399ab;--purple:#9a88f8;--purple2:#6f5fde;--green:#7fc7ab}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(ellipse at 85% -15%,rgba(116,90,213,.08),transparent 45%),var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.hidden{display:none!important}.boot{min-height:100vh;display:grid;place-content:center;justify-items:center;color:var(--sub);gap:18px}.spinner{width:27px;height:27px;border:3px solid #34354e;border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.auth-layout{display:grid;grid-template-columns:minmax(340px,1fr) 1fr;min-height:100vh}.auth-aside{padding:64px clamp(30px,7vw,118px);background:linear-gradient(140deg,#242337,#161923 67%);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #33334f;overflow:hidden}.auth-title{font-size:clamp(38px,4.2vw,72px);letter-spacing:-.06em;line-height:1.06;max-width:550px;margin:20px 0}.auth-title strong{color:#ad9cff}.auth-aside>p,.auth-aside p{color:#bbc0cc;line-height:1.65}.auth-visual{height:270px;border:1px solid #66617f55;border-radius:24px;position:relative;background:radial-gradient(circle at 48% 35%,#6e5eba55,#201d3055 55%,#11131c);display:flex;align-items:center;justify-content:center;overflow:hidden}.auth-visual:after{content:'PRIVATE WORKSPACE';letter-spacing:.38em;color:#c8bffa70;font-size:11px;position:absolute;bottom:18px}.visual-ring{width:190px;height:190px;border:1px solid #ad9cff80;border-radius:50%;box-shadow:0 0 0 27px #9b7ef00d,0 0 0 59px #9b7ef00a;display:grid;place-items:center;font-size:68px;color:#cbbfff}.auth-right{display:flex;align-items:center;justify-content:center;padding:35px}.auth-card{width:min(440px,100%)}.auth-card h2{font-size:30px;letter-spacing:-.035em;margin:5px 0 6px}.auth-card p{color:var(--sub);line-height:1.55;margin:0 0 28px}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.18em;color:var(--purple);font-weight:800}.field{display:flex;flex-direction:column;gap:8px;margin:0 0 19px}.field label{font-size:13px;font-weight:600;color:#d1d4e0}.field input,.field textarea{background:#171c27;color:var(--ink);border:1px solid #373d4e;border-radius:12px;padding:13px 14px;outline:none;transition:border .2s,box-shadow .2s;width:100%}.field textarea{min-height:120px;resize:vertical;font-size:13px;line-height:1.5}.field input:focus,.field textarea:focus{border-color:#a58eff;box-shadow:0 0 0 3px #a58eff1b}.field .hint{color:var(--sub);font-size:12px;line-height:1.5}.btn{border:1px solid transparent;border-radius:11px;padding:12px 17px;color:#f7f7ff;font-weight:700;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:8px;justify-content:center;background:#303645;white-space:nowrap;transition:transform .15s,filter .15s,border .15s}.btn:hover:not(:disabled){filter:brightness(1.09)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:linear-gradient(130deg,#9a86fc,#7969e5);box-shadow:0 6px 30px #8c76ed1a}.btn.outline{background:transparent;border-color:#454c5d}.btn.ghost{background:transparent;color:#bcc1d0}.btn.danger{background:#472931;border-color:#6c3942;color:#ffb0b5}.btn.small{font-size:12px;padding:8px 11px;border-radius:9px}.btn.full{width:100%}.small-note{font-size:12px;color:var(--sub);line-height:1.6}
.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}aside.side{border-right:1px solid var(--line);background:#13161e;display:flex;flex-direction:column;padding:29px 18px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 31px}.logo{width:37px;height:37px;display:grid;place-items:center;background:linear-gradient(145deg,#9d8dff,#5649b8);border-radius:11px;font-size:22px;color:#fff}.brand strong{display:block;font-size:14px;letter-spacing:-.025em}.brand small{font-size:10px;color:var(--sub);letter-spacing:.17em}.side-label{font-size:10px;color:#767d90;letter-spacing:.16em;text-transform:uppercase;font-weight:800;padding:20px 13px 12px}.nav{display:flex;flex-direction:column;gap:5px}.nav-btn{width:100%;border:1px solid transparent;background:transparent;color:#9fa5b6;text-align:left;border-radius:11px;padding:12px 13px;display:flex;align-items:center;gap:12px;font-weight:600;font-size:13px}.nav-btn:hover{color:white;background:#242735}.nav-btn.active{background:#2b2940;color:#eeeaff;border-color:#3b365d}.nav-btn .ic{font-size:17px;width:22px;text-align:center}.side-foot{margin-top:auto}.foot-panel{padding:15px;background:#1e222e;border:1px solid #363b4b;border-radius:13px}.foot-panel .row{display:flex;justify-content:space-between;align-items:center}.status-dot{height:8px;width:8px;border-radius:100%;background:#db9b72;display:inline-block;margin-right:7px;box-shadow:0 0 12px #d9a97f55}.status-dot.ok{background:#83d3ae;box-shadow:0 0 12px #83d3ae66}.foot-panel small{color:var(--sub);font-size:11px}.version{color:#5e6678;font-size:10px;padding:18px 7px 3px}.main{max-width:1520px;width:100%;margin:0 auto;padding:32px clamp(20px,3vw,56px) 90px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 36px}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-left .crumb{color:#737a8d;font-size:12px}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #46445c;color:#c9c3f5;background:#272539;border-radius:99px;font-size:11px;padding:6px 10px;font-weight:700}.badge.warning{background:#352921;color:#f5c6a8;border-color:#604133}.badge.success{background:#1d382e;color:#b3efca;border-color:#335d48}.badge.neutral{color:#b6bdce;background:#242936;border-color:#39404f}.header{margin-bottom:25px}.header h1{font-size:clamp(27px,2.5vw,40px);letter-spacing:-.055em;font-weight:780;margin:8px 0 8px}.header p{color:var(--sub);font-size:14px;line-height:1.65;margin:0;max-width:720px}.header-top{display:flex;gap:14px;align-items:center;justify-content:space-between}.overline{color:#9b8df0;font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:800}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:23px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:19px 22px}.stat small{color:var(--sub);font-size:12px}.stat strong{display:block;font-size:31px;letter-spacing:-.055em;margin:9px 0 2px}.stat span{font-size:11px;color:#777f92}.surface{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}.surface-inner{padding:22px}.surface-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:21px 23px 18px;border-bottom:1px solid var(--line)}.surface-head h3{margin:0 0 5px;font-size:15px}.surface-head p{margin:0;color:var(--sub);font-size:12px;line-height:1.5}.section-title{font-size:16px;font-weight:750;letter-spacing:-.025em;margin:0 0 12px}.workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.8fr);gap:19px}.dropzone{border:1.5px dashed #4c4a69;border-radius:16px;padding:36px 20px;background:linear-gradient(155deg,#211f32,#1b1d28 68%);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;transition:border .2s}.dropzone.drag{border-color:#b39fff;background:#29273c}.dropicon{width:61px;height:61px;border-radius:18px;background:#39324d;display:grid;place-items:center;color:#d1c3ff;font-size:27px;margin-bottom:16px}.dropzone h3{margin:0 0 7px;font-size:17px}.dropzone p{margin:0 0 16px;text-align:center;color:var(--sub);font-size:12px;line-height:1.7}.dropzone .btn{font-size:12px}.thumb-preview{width:100%;max-height:420px;object-fit:contain;border-radius:10px}.hint-line{color:var(--sub);font-size:12px;padding:14px 2px 1px;line-height:1.6}.mini-heading{color:#c7cbda;font-size:12px;font-weight:800;letter-spacing:.05em;margin:22px 0 12px}.mini-refs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.mini-ref{height:82px;border-radius:8px;object-fit:cover;object-position:center top;border:1px solid #404657;width:100%;background:#252b37}.stack{display:flex;flex-direction:column;gap:19px}.note{padding:15px;border:1px solid #4a3d5d;background:#292333;border-radius:13px;color:#c5bbd5;font-size:12px;line-height:1.75}.note strong{color:#e2d9ff}.note.warning{border-color:#624632;background:#2d2621;color:#e0bd9b}.runbar{padding:19px 22px;border-top:1px solid var(--line);display:flex;align-items:center;gap:18px;justify-content:space-between}.runbar .btn{min-width:192px}.tip{color:var(--sub);font-size:12px;line-height:1.5}.media-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.media-item{position:relative;min-width:0;background:#20242f;border:1px solid #373d4c;border-radius:12px;overflow:hidden}.media-item img{height:220px;width:100%;object-fit:cover;object-position:center top}.media-item .caption{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.media-item .caption span{color:#d8dbe7;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-item .caption small{color:var(--sub);font-size:11px}.media-actions{display:flex;gap:6px;padding:0 10px 11px}.media-empty{height:220px;display:grid;place-content:center;gap:10px;justify-items:center;color:#677081;background:#1c202b}.media-empty .plus{font-size:30px}.tabs{display:flex;gap:4px;background:#1e222c;border-radius:12px;padding:5px;width:max-content;max-width:100%;overflow:auto;margin-bottom:22px}.tab{background:transparent;border:0;color:#9da4b7;border-radius:9px;padding:10px 16px;font-size:12px;font-weight:800;white-space:nowrap}.tab.active{background:#3a3558;color:#f2efff}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.gallery-card{background:var(--panel);border:1px solid var(--line);border-radius:15px;overflow:hidden}.gallery-card .imgwrap{aspect-ratio:3/4;display:grid;place-content:center;background:#232733}.gallery-card img{height:100%;width:100%;object-fit:cover}.gallery-card .info{padding:14px;display:flex;flex-direction:column;gap:9px}.gallery-card .info strong{font-size:12px}.gallery-card .info span{font-size:11px;color:var(--sub)}.gallery-card .info .btn{width:100%}.placeholder{padding:55px 20px;text-align:center;color:var(--sub);border:1px dashed #3d4150;border-radius:16px}.placeholder strong{color:var(--ink);display:block;margin-bottom:8px}.pill-row{display:flex;gap:9px;flex-wrap:wrap}.job-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;border-bottom:1px solid var(--line)}.job-item:last-child{border-bottom:0}.job-item strong{font-size:12px}.job-item small{font-size:11px;color:var(--sub)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.code-example{font-family:ui-monospace,Consolas,monospace;word-break:break-word;font-size:12px;background:#10131b;border:1px solid #333a48;border-radius:11px;padding:14px;color:#bbb4ef}.drop-small{border:1px dashed #555b6a;color:#d5d8e2;border-radius:11px;padding:12px;font-size:12px;text-align:center;background:#222734;cursor:pointer}.drop-small:hover{border-color:var(--purple)}.flex{display:flex;align-items:center;gap:9px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.progress{height:5px;background:#373a4b;border-radius:100px;overflow:hidden}.progress b{display:block;height:100%;background:linear-gradient(90deg,#8471e4,#b1a4ff);border-radius:100px}.divider{height:1px;background:var(--line);margin:20px 0}.kbd{font:11px ui-monospace,monospace;color:#bfc5d2;background:#2a2e3c;border:1px solid #3f4756;border-radius:5px;padding:2px 5px}#toast-area{position:fixed;right:20px;bottom:18px;z-index:99;display:grid;gap:9px}.toast{max-width:420px;background:#272d39;border:1px solid #565f73;color:#f5f4fa;padding:13px 16px;border-radius:12px;box-shadow:0 14px 40px #0008;font-size:13px}.toast.error{border-color:#d57f86;background:#38262d}.toast.ok{border-color:#75bd97;background:#263830}.mobile-head{display:none}.mobile-nav{display:none}
@media(max-width:1150px){.media-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.workspace{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.auth-layout{grid-template-columns:1fr 1fr}}@media(max-width:800px){.shell{display:block}.side{display:none!important}.mobile-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line);background:#13161e}.mobile-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:flex;background:#161a23;border-top:1px solid #303645;padding:8px 4px max(8px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav .nav-btn{width:auto;padding:9px 12px;display:flex;flex-direction:column;gap:4px;font-size:10px}.mobile-nav .nav-btn .ic{font-size:19px}.main{padding:24px 17px 110px}.topbar{display:none}.auth-layout{grid-template-columns:1fr}.auth-aside{display:none}.auth-right{min-height:100vh}.cards{gap:8px}.stat{padding:14px}.stat strong{font-size:24px}.media-grid{grid-template-columns:repeat(2,1fr);gap:9px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.media-item img,.media-empty{height:200px}.runbar{flex-direction:column;align-items:stretch}.runbar .btn{width:100%}.header{margin-top:6px}.surface-inner{padding:17px}.surface-head{padding:17px}.header-top{flex-wrap:wrap}}@media(max-width:430px){.gallery-grid{grid-template-columns:1fr 1fr}.media-item img,.media-empty{height:170px}.cards{grid-template-columns:1fr 1fr}.cards .stat:last-child{grid-column:span 2}.mini-ref{height:58px}.nav-btn{gap:6px}}
