/* Lingxi admin: restrained white canvas, ink typography, blue actions. */
:root{--ink:#171c26;--muted:#687385;--line:#e5e9ef;--blue:#175cdb;--blue-soft:#edf3ff;--surface:#fff;--canvas:#f8f9fc;--radius:14px;--ease:cubic-bezier(.2,.75,.25,1)}
*{box-sizing:border-box}html{background:var(--canvas);color:var(--ink);font:14px/1.6 "Microsoft YaHei UI","PingFang SC",sans-serif}body{margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a.button{touch-action:manipulation}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.35;letter-spacing:-.8px;font-weight:650;margin-bottom:10px}h2{font-size:18px;line-height:1.5;letter-spacing:-.3px;margin-bottom:16px}h3{font-size:14px;margin-bottom:8px}p{margin-bottom:12px}strong{font-weight:600}.muted{color:var(--muted)}.mono{font-family:Consolas,"Cascadia Code",monospace;font-size:.94em}.break-all{overflow-wrap:anywhere}.icon{width:20px;height:20px;stroke-width:1.8;flex:none}.icon.small{width:16px;height:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:20px;top:-80px;background:var(--ink);color:#fff;padding:12px 20px;z-index:100}.skip:focus{top:12px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #8ab3ff;outline-offset:3px}
.app-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:35px 20px 22px;position:sticky;top:0;height:100dvh}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:20px;font-weight:700;letter-spacing:.5px;margin:0 10px 54px}.brand:hover{text-decoration:none}.brand-mark{width:40px;height:40px;background:var(--blue);color:#fff;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:-1px;font:600 18px/1 Consolas,monospace;flex:none}.brand-sub{display:block;font-size:10px;font-weight:400;letter-spacing:.8px;color:var(--muted);margin-top:2px}.nav-label{font-size:11px;letter-spacing:1.2px;color:#7a8494;font-weight:600;margin:0 15px 14px}.main-nav{display:flex;flex-direction:column;gap:6px}.main-nav a{display:flex;align-items:center;gap:13px;min-height:46px;padding:10px 16px;color:#4b5667;border-radius:9px;font-weight:500;transition:background .18s,color .18s,transform .18s var(--ease)}.main-nav a:hover{background:#f4f6fa;text-decoration:none}.main-nav a.active{color:var(--blue);background:var(--blue-soft);font-weight:600}.main-nav a:active{transform:scale(.98)}.sidebar-bottom{margin-top:auto;padding:20px 13px 0;color:#6a7585;font-size:11px}.connection-dot{display:inline-block;width:6px;height:6px;background:#329b77;border-radius:50%;margin-right:6px}.sidebar-caption{display:block;margin:7px 0 0 15px;color:#929baa;font-size:10px;letter-spacing:.5px}.main-column{min-width:0;display:flex;flex-direction:column}.topbar{height:76px;padding:0 42px;border-bottom:1px solid var(--line);background:#ffffffdc;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-label{font-size:12px;color:#8490a1;letter-spacing:.5px}.topbar-actions{display:flex;align-items:center;gap:25px}.topbar-actions form{display:inline-flex}.user-label{font-size:12px;color:#6a7585;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quiet-link{display:inline-flex;align-items:center;gap:7px;color:#596577;font-size:12px;min-height:38px}.quiet-link .icon{width:16px;height:16px}.text-button{border:0;background:transparent;color:#6a7585;font-size:12px;padding:8px 4px;min-height:38px}.text-button:hover{color:var(--blue)}main{outline:none}.main-column main{width:100%;max-width:1480px;margin:0 auto;padding:46px 42px 60px;flex:1;animation:arrive .3s var(--ease) both}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading p:last-child{margin-bottom:0}.page-heading>.badge{margin-right:4px}.eyebrow{font-size:11px;color:var(--blue);font-weight:600;letter-spacing:1.4px;margin-bottom:10px}.page-footer{display:flex;justify-content:space-between;gap:12px;padding:18px 42px 24px;font-size:11px;color:#9099a7}.page-footer a{color:#7b8798}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 12px #25334a03;overflow:hidden}.padded{padding:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 17px;border:1px solid transparent;border-radius:8px;line-height:1.4;font-size:13px;font-weight:500;white-space:nowrap;transition:background .16s,border-color .16s,transform .16s var(--ease),box-shadow .16s;text-decoration:none}.button:hover{text-decoration:none}.button:active{transform:scale(.975)}.button.primary{background:var(--blue);color:#fff;box-shadow:0 2px 3px #175cdb16}.button.primary:hover{background:#114dc0;box-shadow:0 3px 8px #175cdb25}.button.secondary{background:#fff;border-color:#dce2eb;color:#435167}.button.secondary:hover{background:#f6f8fc;border-color:#b9c7dc}.button.danger{background:#b42b3c;color:white}.button.danger:hover{background:#9c2030}.button.danger-text{color:#b42b3c}.button:disabled{opacity:.6;cursor:wait;transform:none}.button.full{width:100%}.button .icon{width:17px;height:17px}.filter-bar{display:flex;align-items:center;gap:10px;padding:20px 24px;border-bottom:1px solid var(--line)}input:not([type=checkbox]),textarea,select{background:#fff;border:1px solid #dbe1ea;color:var(--ink);border-radius:8px;padding:10px 12px;max-width:100%;transition:border-color .16s,box-shadow .16s;min-height:42px}input:not([type=checkbox]):focus,textarea:focus,select:focus{border-color:#6595eb;box-shadow:0 0 0 3px #175cdb0d}input::placeholder,textarea::placeholder{color:#9ca6b5}textarea{resize:vertical;line-height:1.8}.search-field{display:flex;align-items:center;position:relative;flex:1;max-width:480px}.search-field .icon{position:absolute;left:12px;color:#8e9aab;width:17px;height:17px}.search-field input{width:100%;padding-left:38px;font-size:12px}.filter-bar select{font-size:12px;min-width:120px;padding-right:30px}.table-scroll{position:relative;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap}th{background:#fcfdff;color:#7c8797;letter-spacing:.3px;font-weight:500;font-size:11px;border-bottom:1px solid var(--line);padding:14px 24px}td{padding:21px 24px;border-bottom:1px solid #edf0f4}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .18s}tbody tr:hover{background:#fbfcff}.row-title{display:inline-block;color:#27344a;font-size:13px;font-weight:600}.row-title:hover{color:var(--blue)}.table-caption{display:block;color:#929baa;font-size:11px;margin-top:5px;max-width:430px;overflow:hidden;text-overflow:ellipsis}.row-action{text-align:right;white-space:nowrap}.row-action a{display:inline-flex;align-items:center;gap:7px;min-height:36px}.wide-cell{width:55%}.url-cell{display:block;max-width:310px;color:#748095;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-flex;align-items:center;gap:5px;min-height:25px;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:500;line-height:1.5;white-space:nowrap;vertical-align:middle}.badge+.badge{margin-left:5px}.badge.positive{background:#edf7f2;color:#2a7c5d}.badge.neutral{background:#f0f2f6;color:#788294}.badge.paused{background:#f5eef0;color:#975267}.badge.warning{background:#fff5e4;color:#a77422}.empty-state{padding:83px 24px 88px;text-align:center}.empty-state h2{font-size:17px;margin:18px 0 8px}.empty-state p{color:#8792a2;font-size:12px;max-width:480px;margin:0 auto 24px}.empty-symbol{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;background:#f2f5fb;color:#7992b8;border:1px solid #e7edf6;border-radius:16px}.empty-symbol .icon{width:24px;height:24px}.section-note{font-size:11px;color:#8893a2;margin:16px 2px;line-height:1.9}.pagination{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:14px 24px;font-size:11px;color:#7e8999}.pagination>div{display:flex;gap:8px}.pagination .button{min-height:35px;padding:7px 12px;font-size:11px}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#7b8799;margin-bottom:24px;min-height:30px}.editor-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:28px;align-items:start}.editor-grid.single{display:block;max-width:760px}.edit-panel{padding:30px}.field{margin-bottom:24px}.field label,label{display:block;font-size:12px;font-weight:600;color:#3a475b;margin-bottom:8px}.field input:not([type=checkbox]),.field select,.field textarea{width:100%;font-size:13px}.required{color:#a9b3c1;margin-left:5px;font-size:11px}.help-text{font-size:11px;color:#8691a2;margin:8px 0 0;line-height:1.9}.help-text ul{padding-left:18px;margin:6px 0}.checkbox-field{padding-top:2px;margin-bottom:20px}.checkbox-field label{display:flex;align-items:center;gap:10px;margin-bottom:0;cursor:pointer;min-height:30px}.checkbox-field input{accent-color:var(--blue);width:16px;height:16px}.checkbox-field .help-text{margin-left:26px}.errorlist{color:#b42b3c;font-size:12px;padding-left:0;list-style:none;margin:8px 0}.error-summary{padding:14px 16px;border:1px solid #f0d0d6;background:#fdf5f6;border-radius:8px;color:#a72c3e;font-size:12px;margin-bottom:22px}.error-summary .errorlist{margin:0}.notice{padding:14px 18px;background:#edf7f2;border:1px solid #d3e9dd;color:#2a7c5d;border-radius:9px;font-size:12px;margin-bottom:26px}.form-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:23px;margin-top:30px}.preview-column{position:sticky;top:28px}.preview-column>.nav-label{margin:0 0 13px}.preview-card{padding:27px}.preview-card h2{margin:20px 0 14px;font-size:19px;overflow-wrap:anywhere}.prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.95}.preview-card .prose{font-size:12px;color:#677488;min-height:120px}.preview-link{display:block;color:var(--blue);font-size:12px;margin-top:22px}.preview-link[hidden]{display:none}.focused-panel{max-width:730px;margin:0 auto;padding:38px}.success-symbol{background:#edf7f2;color:#2a7c5d;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:22px}.copy-row{display:flex;align-items:flex-start;gap:10px}.copy-row textarea{width:100%;min-height:86px;background:#fafcff}.copy-row button{flex:none}.instruction-box{background:#f1f5fd;border:1px solid #e4ebf8;padding:18px 21px;border-radius:10px;font-size:12px;color:#61718b;margin-top:24px}.instruction-box strong{color:#435a7f;font-size:12px}.instruction-box p{margin:6px 0 0;line-height:1.9}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:start}.detail-list{margin:22px 0 0}.detail-list>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;margin-bottom:19px;font-size:12px}.detail-list dt{color:#8691a2}.detail-list dd{margin:0;color:#435167}.detail-list.compact>div{margin-bottom:13px}.panel-divider{height:1px;background:var(--line);margin:25px 0}.inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.binding-card{padding:20px 0;border-bottom:1px solid var(--line)}.binding-card:last-child{border-bottom:0;padding-bottom:0}.binding-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.binding-head h2{margin-bottom:0}.binding-head strong{font-size:12px}.binding-card .detail-list{margin-top:18px}.empty-inline{padding:46px 12px 35px;text-align:center;color:#8b97a8;font-size:12px}.empty-inline .icon{display:block;margin:0 auto 16px;color:#a4b4ca;width:26px;height:26px}.empty-inline strong{display:block;color:#62738b;margin-bottom:8px}.empty-inline p{font-size:11px}.confirmation{margin-top:40px}.confirmation h1{font-size:24px}.confirmation-object{font-size:16px;margin:18px 0}.confirmation .muted{line-height:1.9}.readonly{width:100%;background:#f9fbfe!important;margin-bottom:20px;font-size:12px}.narrow-panel{max-width:690px}.login-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-intro{background:#f3f6fc;border-right:1px solid #e5ebf5;padding:12vh 10vw 8vh;display:flex;flex-direction:column;align-items:flex-start}.brand-mark.large{width:54px;height:54px;border-radius:15px;font-size:23px;margin-bottom:56px}.login-intro h1{font-size:40px;line-height:1.6;font-weight:650;letter-spacing:-1px;margin-bottom:23px}.login-intro>p:not(.eyebrow){font-size:13px;color:#8090a8;line-height:2}.login-footnote{margin-top:auto;padding-top:60px;color:#a2afc2;font-size:9px;letter-spacing:2px}.login-panel{padding:40px;display:flex;align-items:center;justify-content:center}.login-form{width:100%;max-width:350px}.login-form h2{font-size:26px;letter-spacing:-.8px;margin-bottom:7px}.login-form>.muted{font-size:12px;margin-bottom:36px}.login-form .button.full{margin-top:8px;min-height:45px}.login-note{font-size:10px;color:#9aa4b2;text-align:center;margin-top:23px;line-height:1.9}
@view-transition{navigation:auto}
@keyframes arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@supports(view-transition-name:none){main{view-transition-name:workspace}::view-transition-old(workspace){animation:arrive .14s reverse both}::view-transition-new(workspace){animation:arrive .24s both}}
@media(min-width:1500px){.main-column main{padding-top:56px}.page-heading{margin-bottom:36px}}
@media(max-width:1100px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:28px 13px 22px}.brand{margin-left:7px;gap:9px;font-size:18px}.brand-sub{font-size:9px}.topbar{padding:0 28px}.main-column main{padding:34px 28px 50px}.page-footer{padding-left:28px;padding-right:28px}.editor-grid{grid-template-columns:minmax(0,1fr)}.preview-column{position:static;max-width:640px}.detail-grid{gap:18px}.padded{padding:22px}th,td{padding-left:19px;padding-right:19px}.login-intro{padding-left:7vw;padding-right:6vw}.login-intro h1{font-size:34px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{height:auto;position:static;display:block;padding:18px 20px 12px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0 0 19px;font-size:18px}.brand-mark{width:34px;height:34px;font-size:16px;border-radius:9px}.brand-sub{font-size:9px;display:inline;margin-left:12px}.sidebar>.nav-label,.sidebar-bottom{display:none}.main-nav{flex-direction:row;gap:6px}.main-nav a{justify-content:center;flex:1;font-size:11px;gap:7px;min-height:43px;padding:9px 4px}.main-nav .icon{width:17px;height:17px}.topbar{height:55px;padding:0 20px}.topbar-label{font-size:10px}.topbar-actions{gap:15px}.topbar-actions .quiet-link{font-size:11px}.topbar-actions .user-label{display:none}.main-column main{padding:28px 20px 40px}.page-heading{gap:15px;margin-bottom:24px;align-items:flex-start}.page-heading h1{font-size:25px}.page-heading>.button{font-size:11px;padding:9px 12px;min-height:39px;margin-top:22px}.page-heading p.muted{font-size:11px;line-height:1.9}.eyebrow{font-size:10px}.filter-bar{padding:15px;gap:8px;flex-wrap:wrap}.search-field{max-width:none;flex-basis:100%}.filter-bar select{flex:1}.detail-grid{grid-template-columns:minmax(0,1fr)}.padded,.edit-panel{padding:22px}.panel{border-radius:11px}.focused-panel{padding:26px}.copy-row{display:block}.copy-row .button{margin-top:10px;min-width:110px}.form-actions .button{flex:1}.detail-list>div{grid-template-columns:85px minmax(0,1fr);gap:10px}.table-scroll{scrollbar-width:thin}.empty-state{padding:58px 22px 64px}.empty-state p{font-size:11px}.page-footer{padding:12px 20px 20px;font-size:9px;flex-wrap:wrap}.section-note{font-size:10px}.back-link{margin-bottom:18px}.confirmation{margin-top:15px}.login-layout{grid-template-columns:1fr}.login-intro{padding:28px 28px 26px;border-bottom:1px solid var(--line);border-right:0}.brand-mark.large{width:38px;height:38px;font-size:17px;border-radius:10px;margin-bottom:20px}.login-intro h1{font-size:24px;line-height:1.5;margin-bottom:0}.login-intro br{display:none}.login-intro>p:not(.eyebrow),.login-footnote{display:none}.login-intro .eyebrow{margin-bottom:8px}.login-panel{padding:36px 28px 50px;align-items:flex-start}.login-form{max-width:420px}.login-form h2{font-size:23px}.login-form>.muted{margin-bottom:26px}.pagination{padding:14px 16px;gap:10px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

