:root{color:#17384a;font-synthesis:none;background:#f1f5f7;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.login-shell{background:radial-gradient(circle at 10% 15%,#85cdfa8c,#0000 34%),radial-gradient(circle at 90% 85%,#9b8cf53d,#0000 30%),#f7fafb;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#ffffffe6;border:1px solid #17384a14;border-radius:28px;width:min(440px,100%);padding:42px;box-shadow:0 28px 80px #2752691f}.brand-mark,.sidebar-brand span{color:#17384a;background:#85cdfa;border-radius:16px;place-items:center;width:48px;height:48px;font-size:24px;font-weight:900;display:grid}.eyebrow{color:#5997b9;letter-spacing:.15em;margin:22px 0 4px;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}.login-card h1{margin-bottom:8px;font-size:34px}.login-copy{color:#6b7f89;margin-bottom:30px}label{color:#4c6572;gap:8px;margin-bottom:18px;font-size:13px;font-weight:700;display:grid}input,textarea{color:#17384a;background:#fff;border:1px solid #d9e3e8;border-radius:12px;outline:none;width:100%;padding:12px 14px}input:focus,textarea:focus{border-color:#49b7f6;box-shadow:0 0 0 3px #49b7f624}.primary,.secondary,.danger,.text-button,.upload-button,.icon-button{border:0;border-radius:12px;padding:11px 18px;font-weight:750}.primary{color:#17384a;background:#85cdfa}.primary:hover{background:#70c4f7}.primary:disabled{cursor:not-allowed;opacity:.55}.wide{width:100%;margin-top:6px}.secondary{color:#365566;background:#edf3f6}.danger{color:#b83b48;background:#fff0f1}.text-button{color:#6b7f89;text-align:left;background:0 0}.dashboard{min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e4ebee;flex-direction:column;justify-content:space-between;width:240px;padding:30px 22px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{align-items:center;gap:12px;font-size:18px;font-weight:900;display:flex}.sidebar-brand span{border-radius:12px;width:38px;height:38px;font-size:18px}nav{gap:8px;margin-top:42px;display:grid}nav a,.nav-link{color:#647b87;text-align:left;background:0 0;border:0;border-radius:12px;width:100%;padding:12px 14px;font-weight:700;text-decoration:none}nav a.active,.nav-link.active{color:#17384a;background:#e8f6ff}.content{margin-left:240px;padding:44px clamp(24px,5vw,72px) 72px}.topbar{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.topbar .eyebrow{margin-top:0}.topbar h1{margin-bottom:8px;font-size:38px}.topbar p:last-child{color:#71838d;margin:0}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:30px 0;display:grid}.stats article{background:#fff;border-radius:18px;gap:5px;padding:22px;display:grid;box-shadow:0 8px 28px #2752690d}.stats strong{font-size:30px}.stats span{color:#71838d;font-size:13px}.message{border-radius:12px;margin:14px 0;padding:12px 16px;font-size:14px}.message.error{color:#a22d3a;background:#fff0f1}.message.success{color:#19745e;background:#e9fbf5}.panel{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 12px 36px #2752690f}.panel-head{border-bottom:1px solid #edf1f3;justify-content:space-between;align-items:center;padding:24px 26px;display:flex}.panel-head h2{margin-bottom:5px}.panel-head span{color:#81919a;font-size:13px}.activity-list{display:grid}.activity-row{border-bottom:1px solid #edf1f3;align-items:center;gap:18px;padding:20px 26px;display:flex}.activity-row:last-child{border-bottom:0}.poster-thumb,.poster-preview{color:#17384a;background:linear-gradient(135deg,#85cdfa,#cbeaff) 50%/cover;border-radius:16px;flex:none;place-items:center;width:76px;height:76px;font-weight:900;display:grid}.activity-main{flex:1;min-width:0}.title-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.title-line h3{margin:0;font-size:17px}.activity-main p{color:#71838d;margin:6px 0 0;font-size:13px}.activity-main p.date{color:#365566;font-weight:700}.tag{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.tag.feature{color:#6350cc;background:#efedff}.tag.published{color:#19745e;background:#e8faf4}.tag.draft{color:#6e7680;background:#eef1f3}.row-actions{gap:8px;display:flex}.empty-state{text-align:center;padding:72px 24px}.empty-state div{font-size:22px;font-weight:900}.empty-state p{color:#81919a;margin:8px 0 22px}.log-tools{align-items:flex-end;gap:20px}.log-filters{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.log-filters input,.log-filters select{color:#17384a;background:#fff;border:1px solid #d9e3e8;border-radius:10px;width:auto;min-width:150px;margin:0;padding:9px 12px}.log-filters input{min-width:240px}.log-list{display:grid}.log-row{border-bottom:1px solid #edf1f3;grid-template-columns:130px 66px minmax(210px,1fr) 54px 76px minmax(220px,1.3fr);align-items:center;gap:12px;padding:15px 24px;font-size:13px;display:grid}.log-row:last-child{border-bottom:0}.log-row time,.log-duration{color:#71838d;font-variant-numeric:tabular-nums}.log-level,.log-status{border-radius:999px;justify-self:start;padding:4px 7px;font-size:11px;font-weight:900}.log-level.info,.log-status.info{color:#19745e;background:#e8faf4}.log-level.warn,.log-status.warn{color:#9a6410;background:#fff6df}.log-level.error,.log-status.error{color:#b83b48;background:#fff0f1}.log-request{overflow-wrap:anywhere;min-width:0}.log-request b{color:#5997b9;margin-right:5px}.log-row p{overflow-wrap:anywhere;color:#365566;margin:0}.log-row p.muted{color:#9aa8af}.modal-backdrop{z-index:20;background:#0f24307a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.editor{background:#fff;border-radius:24px;width:min(800px,100%);max-height:calc(100vh - 48px);padding:28px;overflow:auto;box-shadow:0 30px 100px #0003}.editor-head{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.editor-head .eyebrow{margin:0 0 4px}.editor-head h2{margin:0}.icon-button{color:#657b87;background:#edf3f6;padding:4px 11px;font-size:24px}.form-grid{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.form-grid .full{grid-column:1/-1}.poster-field{border:1px dashed #cbd9df;border-radius:16px;align-items:center;gap:18px;margin:6px 0 20px;padding:16px;display:flex}.poster-field>div:first-child{flex:1}.poster-field p{color:#81919a;margin:5px 0 0;font-size:12px;font-weight:500}.field-label{color:#4c6572;font-size:13px;font-weight:700}.poster-preview{width:110px;height:72px}.upload-button{color:#17384a;cursor:pointer;background:#e5f5ff;margin:0;display:block}.upload-button input{display:none}.content-images-field{border:1px dashed #cbd9df;border-radius:16px;margin-bottom:20px;padding:16px}.content-images-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.content-images-head p{color:#81919a;margin:5px 0 0;font-size:12px;font-weight:500}.content-image-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:16px;display:grid}.content-image-card{gap:8px;display:grid}.content-image-card .danger{padding:7px 10px}.content-image-preview{background-position:50%;background-size:cover;border-radius:12px;height:92px;overflow:hidden}.content-image-preview span{color:#fff;background:#0000009e;border-radius:999px;margin:8px;padding:4px 7px;font-size:11px;font-weight:800;display:inline-block}.switch-row{align-items:center;gap:10px;display:flex}.switch-row input{accent-color:#49b7f6;width:18px;height:18px}.editor-actions{border-top:1px solid #edf1f3;justify-content:flex-end;gap:10px;padding-top:20px;display:flex}@media (width<=820px){.sidebar{flex-direction:row;align-items:center;width:auto;padding:18px 20px;position:static}.sidebar nav{display:none}.content{margin-left:0;padding:28px 18px 54px}.stats{grid-template-columns:1fr}.activity-row{flex-wrap:wrap;align-items:flex-start}.activity-main{min-width:calc(100% - 100px)}.row-actions{justify-content:flex-end;width:100%}.log-tools{flex-direction:column;align-items:stretch}.log-filters{justify-content:flex-start}.log-row{grid-template-columns:105px 58px 1fr 48px;gap:8px}.log-duration{text-align:right}.log-row p{grid-column:1/-1}}@media (width<=580px){.login-card{padding:30px 24px}.topbar{flex-direction:column;align-items:flex-start}.topbar .primary{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.poster-field,.content-images-head{flex-direction:column;align-items:flex-start}.log-filters>*{width:100%!important}.log-row{grid-template-columns:1fr auto auto}.log-row time,.log-request{grid-column:1/-1}}
