:root{font-family:Inter,-apple-system,PingFang SC,sans-serif;color:#2b414e;background:#f6f8fa;font-size:14px;--line:#e5edf2}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:0;border-radius:7px;background:transparent;color:#648397;padding:9px 12px;cursor:pointer}button:hover{background:#eaf1f5}button:disabled{opacity:.4;cursor:default}input,select{width:100%;padding:12px;border:1px solid #dce5eb;border-radius:8px;background:#fff;color:#263e4c;outline:none}input:focus,select:focus{border-color:#8db6cb;box-shadow:0 0 0 3px #89b0c220}label{display:block;margin-top:20px;font-size:13px}label input,label select{margin-top:9px}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:600;letter-spacing:-.6px}h2{font-size:25px;font-weight:600;margin:12px 0 22px}h3{font-size:16px;font-weight:600}.muted{color:#8e9ea7;line-height:1.8}.primary{background:#7da8be;color:#fff;padding:12px 21px;font-weight:500}.primary:hover{background:#648fa7}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;color:#91a9b5;margin-bottom:13px}.brand-mark{display:inline-grid;place-items:center;font-size:29px;color:#80aabd;border:1px solid #c0d5df;width:42px;height:42px;border-radius:13px}.login-shell{min-height:100vh;display:flex;background:#fff}.login-art{width:54%;padding:80px 9%;background:radial-gradient(ellipse at 15% 90%,#d0e1e9,transparent 70%),#edf4f7;display:flex;flex-direction:column;justify-content:center}.login-art .brand-mark{margin-bottom:35px}.login-art p{color:#7093a5;margin-bottom:24px}.login-art h1{font-size:43px;line-height:1.7;font-weight:500;letter-spacing:2px}.login-art small{letter-spacing:3px;font-size:10px;color:#90aab7;margin-top:60px}.login-card{max-width:430px;width:100%;margin:auto;padding:38px}.login-card .primary{width:100%;margin-top:32px}.login-card h2{margin-bottom:12px}.workspace{display:flex;min-height:100vh}.sidebar{width:224px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:36px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#29414f;font-size:20px;padding:0 8px;margin-bottom:52px}.brand b{font-weight:400;font-size:13px;color:#9cabb3}.nav-label{font-size:10px;letter-spacing:1.5px;color:#a7b5bd;padding:0 15px;margin-bottom:13px}.sidebar nav{margin-bottom:36px}.sidebar nav button{display:flex;width:100%;align-items:center;gap:15px;padding:14px 17px;margin:6px 0;color:#8496a0;text-align:left;border-radius:9px}.sidebar nav button>span{font-size:21px;width:23px;text-align:center}.sidebar nav button.active{background:#edf4f8;color:#648fa7;font-weight:600}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:20px;border-top:1px solid var(--line)}.avatar{background:#eaf2f6;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#7199af;font-size:12px}.sidebar-bottom strong{display:block;font-size:12px}.sidebar-bottom small{display:block;color:#9cabb5;font-size:10px;margin-top:4px}.sidebar-bottom button{margin-left:auto}main{margin-left:224px;min-width:0;flex:1}header{height:76px;border-bottom:1px solid var(--line);background:#fffa;display:flex;align-items:center;gap:18px;padding:0 42px;font-size:12px;color:#8197a3}header span{color:#c6d1d7}header small{margin-left:auto;font-size:11px;color:#a8b7c0}.page-content{padding:44px 42px 0;max-width:1660px;margin:auto}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}.page-title h1{display:flex;align-items:center;gap:15px;margin-bottom:9px}.count{font-size:12px;letter-spacing:0;color:#7d9cae;border-radius:6px;background:#eaf0f4;padding:4px 9px}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:24px}.search{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;width:360px;margin-right:auto;padding:0 9px}.search input{border:0;padding:11px 8px;background:transparent;font-size:12px;box-shadow:none}.search span{font-size:23px;color:#9aacb8}.search button{font-size:11px;white-space:nowrap}.subtle{font-size:12px;background:#fff;border:1px solid var(--line);padding:10px 15px}.tabs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:27px;border-bottom:1px solid var(--line);padding-bottom:16px}.tabs>button,.tab-group>button{font-size:12px;color:#8a9ba5;padding:8px 13px}.tabs button.selected{color:#648ea6;background:#e8f0f5;font-weight:600}.tab-group{display:flex;align-items:center}.tab-group>span{display:flex;opacity:0}.tab-group:hover>span,.tab-group:focus-within>span{opacity:1}.tab-group>span button{font-size:11px;padding:3px}.content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:23px}.content-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 10px #25435703;transition:transform .2s,box-shadow .2s}.content-card:hover{transform:translateY(-3px);box-shadow:0 9px 25px #2543570b}.card-image{position:relative;width:100%;aspect-ratio:1.24;border-radius:0;background:linear-gradient(135deg,#eef4f7,#dfeaf0);display:grid;place-items:center;padding:20px}.card-image img{height:100%;width:100%;object-fit:contain;position:absolute;top:0;right:0;bottom:0;left:0;padding:15px}.image-placeholder{font-size:55px;color:#a5bdcb;font-weight:300}.version{position:absolute;top:13px;left:13px;color:#6a8799;background:#ffffffca;font-size:10px;padding:4px 7px;border-radius:4px}.badge{font-size:10px;padding:4px 8px;border-radius:5px;white-space:nowrap}.card-image .badge{position:absolute;right:12px;top:13px}.published{color:#739f8d;background:#edf7f1}.draft{color:#97a2aa;background:#f1f4f5}.card-body{padding:17px 17px 8px}.card-body h3{margin-bottom:9px}.content-id{font:10px ui-monospace,monospace;display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;padding:0;color:#9aadb8}.card-meta{font-size:10px;display:flex;justify-content:space-between;color:#a3b1ba;margin:20px 0 15px}.card-actions{border-top:1px solid #eff3f6;display:flex;align-items:center;padding-top:6px;gap:2px}.card-actions button{font-size:11px;padding:8px 6px}.spacer{flex:1}footer{font-size:10px;color:#a8b7bf;border-top:1px solid var(--line);margin-top:48px;padding:24px 0;display:flex;justify-content:space-between}.empty{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9aaeb9}.empty>span{font-size:44px;margin-bottom:20px}.empty h3{font-weight:400}.empty p{font-size:12px;margin-top:12px}.banner{border-radius:8px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;overflow-wrap:anywhere}.banner button{padding:0 7px}.error{color:#b77373;font-size:12px;line-height:1.7}.error.banner{background:#fbeded}.notice{background:#eaf4ef;color:#658c7a;font-size:12px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#20334050;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:30px}.dialog{background:#fff;border-radius:16px;padding:35px;max-height:90vh;overflow:auto;width:490px;position:relative;box-shadow:0 30px 90px #10253025}.dialog.wide{width:850px}.close{position:absolute;right:18px;top:15px;font-size:23px;color:#9caeb8}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:30px}.dialog .muted{font-size:12px}.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;background:#fff}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:#f7fafb;color:#91a3af;font-size:11px;font-weight:500}td,th{padding:19px;border-bottom:1px solid var(--line)}td button{font-size:11px}td select{font-size:12px;padding:7px;width:150px}.row-id{display:block;font-family:ui-monospace,monospace;font-size:10px;color:#9aabb6;margin-top:7px}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}.role-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px}.role-icon{font-size:30px;color:#7eabc2;display:block;margin-bottom:20px}.role-card h3{margin-bottom:5px}.role-card .muted{font-size:11px}.permission-list{display:flex;flex-wrap:wrap;gap:7px;min-height:95px;margin:25px 0}.permission-list span{font-size:10px;color:#7e98a7;background:#eef4f7;padding:5px 8px;border-radius:4px;align-self:start}.checks label{display:flex;align-items:center;gap:10px;margin-top:12px}.checks input{width:auto;margin:0}@media(min-width:1500px){.content-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.sidebar{width:180px;padding:30px 14px}main{margin-left:180px}.page-content{padding:30px 24px 0}header{padding:0 24px}header small{display:none}.login-art{width:45%;padding:45px}.login-art h1{font-size:30px}.toolbar{flex-wrap:wrap}.search{width:100%}.tab-group>span{opacity:1}}@media(max-width:600px){.sidebar{width:75px;padding:20px 10px}.brand{padding:0}.brand>span:last-child,.nav-label,.sidebar-bottom{display:none}.sidebar nav button{font-size:0;padding:12px}.sidebar nav button>span{font-size:25px}.sidebar nav{margin-bottom:10px}main{margin-left:75px}.page-content{padding:25px 15px 0}.page-title{align-items:start;gap:10px}.page-title h1{font-size:25px}.page-title .primary{font-size:11px;padding:10px}.login-art{display:none}.content-grid{grid-template-columns:1fr}.dialog{padding:25px}}:root{font-size:12px}h1{font-size:23px;letter-spacing:-.3px}h2{font-size:20px}h3{font-size:13px}.sidebar{width:192px;padding:26px 14px}.brand{font-size:18px;margin-bottom:36px;padding:0 6px;gap:9px}.brand-mark{width:34px;height:34px;font-size:24px;border-radius:10px}.brand b{font-size:11px}.sidebar nav{margin-bottom:26px}.sidebar nav button{padding:10px 12px;margin:4px 0;gap:12px}.sidebar nav button>span{font-size:18px;width:21px}.nav-label{font-size:10px;padding:0 12px;margin-bottom:9px}.sidebar-bottom{gap:8px;padding-top:15px}.sidebar-bottom strong{font-size:11px}.sidebar-bottom small{font-size:9px}.avatar{width:29px;height:29px;font-size:11px}main{margin-left:192px}header{height:58px;padding:0 28px;font-size:11px}.page-content{padding:28px 28px 0;max-width:1600px}.page-title{margin-bottom:24px}.page-title h1{margin-bottom:7px;gap:10px}.eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:9px}.count{font-size:10px;padding:3px 7px}.primary{font-size:12px;padding:9px 15px}.toolbar{gap:8px;margin-bottom:17px}.search{width:300px}.search input{font-size:11px;padding:9px 7px}.search span{font-size:20px}.subtle{font-size:11px;padding:8px 12px}.tabs{gap:6px;padding-bottom:12px;margin-bottom:18px}.tabs>button,.tab-group>button{font-size:11px;padding:7px 10px}.content-grid{grid-template-columns:repeat(auto-fill,184px);gap:14px;align-items:start}.content-card{border-radius:9px;min-width:0}.card-image{width:80px;height:80px;aspect-ratio:1;margin:14px auto 0;padding:0;border-radius:10px;background:#edf2f5;overflow:hidden}.card-image img{padding:0;border-radius:10px;object-fit:cover}.image-placeholder{font-size:32px}.card-body{padding:12px 10px 6px}.card-heading{display:flex;align-items:center;gap:6px;margin-bottom:7px}.card-heading h3{font-size:12px;font-weight:600;line-height:1.4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0}.version{position:static;flex:none;font-size:9px;padding:2px 4px;background:#f0f5f7;color:#87a0ad;border-radius:3px}.content-id{font-size:9px;line-height:1.5}.card-meta{font-size:9px;margin:11px 0 9px;gap:4px;align-items:center}.card-meta>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{font-size:8px;padding:3px 5px;border-radius:3px}.card-actions{gap:0;padding-top:4px}.card-actions button{font-size:9px;padding:5px 3px}.content-card:hover{transform:translateY(-2px)}footer{margin-top:32px;padding:18px 0;font-size:9px}.role-grid{grid-template-columns:repeat(auto-fill,minmax(210px,260px));gap:15px}.role-card{padding:20px}.role-icon{font-size:25px;margin-bottom:15px}.permission-list{margin:18px 0;gap:5px}.table-wrap table{font-size:11px}td,th{padding:14px 16px}td select{font-size:11px;padding:6px}td button{font-size:10px}.login-card{font-size:13px}.login-art h1{font-size:36px}.login-art .brand-mark{width:42px;height:42px;font-size:29px}.dialog,.dialog label,.dialog input,.dialog select{font-size:12px}button:focus-visible{outline:2px solid #8db6cb;outline-offset:2px}@media(min-width:1500px){.content-grid{grid-template-columns:repeat(auto-fill,184px)}}@media(max-width:900px){.sidebar{width:170px}main{margin-left:170px}.page-content{padding:24px 20px 0}.content-grid{grid-template-columns:repeat(auto-fill,172px);gap:12px}}@media(max-width:600px){.sidebar{width:65px;padding:18px 8px}main{margin-left:65px}.sidebar nav button{font-size:0;padding:9px}.page-content{padding:20px 14px 0}.content-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px}.card-image{width:72px;height:72px}.page-title h1{font-size:21px}.login-art{display:none}}
