:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#173536;background:#f3f7f6;font-synthesis:none;--accent:#087d71;--accent-dark:#05675e;--border:#dce7e4;--muted:#657c79;--danger:#ae3434;--shadow:0 10px 32px #17353607}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:3px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-.7px;margin-bottom:9px}h2{font-size:19px;margin-bottom:12px}h3{font-size:15px;margin-bottom:8px}p{line-height:1.65}code,pre,textarea.mono,.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}pre{white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.65}input,textarea,select{width:100%;border:1px solid #cddbd7;border-radius:8px;background:#fff;color:#193c39;padding:11px 12px;min-height:43px}textarea{resize:vertical;line-height:1.65}input[type=checkbox]{width:17px;height:17px;min-height:0;accent-color:var(--accent);margin:0}input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:2px solid #087d7120}label{font-size:13px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px;min-width:0}.field-label{font-weight:650}.field-help,.hint{font-size:12px;color:var(--muted);font-weight:400;line-height:1.6}.hint{margin:9px 0 0}.muted{color:var(--muted);font-size:13px}.tiny{font-size:11px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #ceded9;background:white;color:#294f49;min-height:37px;border-radius:8px;padding:8px 13px;font-size:12px;font-weight:600;white-space:nowrap}.button:hover:not(:disabled){background:#f0f8f5;border-color:#a8c7bb}.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.button.primary:hover:not(:disabled){background:var(--accent-dark)}.button.danger{color:var(--danger);border-color:#efcece;background:#fff8f8}.button.quiet,.button.icon{border-color:transparent;background:transparent}.button.icon{font-size:23px;padding:2px 9px;min-height:30px}.button.small{min-height:30px;padding:5px 9px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.end{justify-content:flex-end}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:18px}.card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:23px;box-shadow:var(--shadow);min-width:0}.badge{display:inline-flex;align-items:center;border-radius:99px;font-size:10px;font-weight:650;padding:5px 9px;background:#edf4f1;color:#5d766c;white-space:nowrap}.badge.green{color:#067464;background:#dff3eb}.badge.orange{color:#976123;background:#fff0dc}.badge.red{color:#a03f3f;background:#fbe9e9}.notice{font-size:12px;border:1px solid #c6e4dc;background:#edf8f4;color:#286758;border-radius:9px;padding:13px 15px;line-height:1.7}.notice.error{border-color:#efcbcb;background:#fff1f1;color:#9b3c3c}.notice.warning{border-color:#ecd8b5;background:#fffaef;color:#8a652c}.boot{min-height:100vh;display:grid;place-content:center;text-align:center;gap:14px;color:var(--muted)}.brand-mark{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:700;width:43px;height:43px;border-radius:13px;font-size:20px;box-shadow:0 5px 15px #087d7125}.boot .brand-mark{margin:auto}.brand{display:flex;align-items:center;gap:11px}.brand strong{font-size:21px;letter-spacing:1px}.brand small{display:block;font-size:8px;letter-spacing:2.5px;font-weight:600;color:var(--muted);margin-top:4px}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;max-width:1440px;margin:auto;padding:60px 7vw;gap:9vw;align-items:center}.login-intro h1{font-size:43px;line-height:1.3;max-width:480px;margin-top:47px}.login-intro .lead{font-size:15px;color:var(--muted);max-width:430px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--accent);font-weight:750;margin-bottom:12px}.login-points{padding:0;list-style:none;margin:30px 0}.login-points li{font-size:13px;margin:15px 0;color:#52766b}.login-points li:before{content:'✓';background:#dcefe6;color:var(--accent);margin-right:12px;border-radius:100%;padding:2px 5px}.login-card{padding:35px;max-width:430px;width:100%}.login-card .button.primary{width:100%;min-height:43px}.login-card .notice{margin-bottom:18px}.login-footer{font-size:11px;color:#94a39d;margin-top:23px;line-height:1.6}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{background:#f8fbf9;border-right:1px solid var(--border);padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .brand{padding:0 8px 34px}.sidebar-nav{display:flex;flex-direction:column;gap:7px}.nav-button{background:transparent;border:0;border-radius:8px;display:flex;align-items:center;gap:10px;text-align:left;padding:12px 13px;font-size:12px;color:#58706b;min-height:43px}.nav-button.active{color:#086e60;background:#deeee7;font-weight:700}.nav-icon{font-size:16px;width:20px;text-align:center}.sidebar-note{margin-top:auto;padding:20px 10px 0;font-size:11px;color:#8ca29a;line-height:1.7}.main{min-width:0}.topbar{height:76px;background:#ffffffd9;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 35px;gap:15px}.topbar-label{font-size:11px;color:#7a9289}.user-chip{display:flex;align-items:center;gap:11px}.avatar{width:31px;height:31px;border-radius:100%;display:grid;place-items:center;background:#dceee6;color:#176955;font-size:11px;font-weight:700}.content{max-width:1450px;padding:32px 35px 50px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px}.page-heading p{margin:0;max-width:750px;font-size:12px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:22px}.metric{padding:20px 22px}.metric-value{font-size:27px;font-weight:700;letter-spacing:-.7px}.metric-label{font-size:11px;color:var(--muted);margin-top:5px}.interface-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:19px;align-items:start}.list-card{padding:15px;position:sticky;top:20px}.list-card input{font-size:11px;margin-bottom:12px}.interface-list{display:flex;flex-direction:column;gap:6px;max-height:65vh;overflow:auto}.interface-button{display:block;text-align:left;border:1px solid transparent;background:transparent;border-radius:9px;padding:13px;min-width:0;width:100%;color:#3b5e53}.interface-button.active{background:#eaf6ef;border-color:#c5e0d4}.interface-button:hover{background:#f3f8f5}.interface-name{display:block;font-weight:700;font-size:12px;margin-bottom:6px}.interface-path{display:block;font-size:10px;color:#739180;overflow-wrap:anywhere;line-height:1.6}.interface-meta{display:flex;align-items:center;gap:6px;margin-top:9px;font-size:10px;color:var(--muted)}.editor-header{margin-bottom:18px}.editor-header h2{margin-bottom:6px}.editor-path{font-size:11px;color:#6c8e7e}.editor-text{min-height:320px;font-size:12px;tab-size:2;white-space:pre}.editor-text.html{min-height:400px}.editor-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:var(--muted);font-size:10px}.toolbar{border-top:1px solid #e6eeea;margin-top:18px;padding-top:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.editor-fields{display:grid;gap:15px}.field-card{border:1px solid #e1eae5;border-radius:9px;padding:16px;background:#fcfefd}.field-card .field{margin-bottom:0}.field-pointer{display:block;font-size:10px;color:var(--muted);margin-bottom:12px}.detail-tabs{display:flex;gap:6px;margin-bottom:17px;flex-wrap:wrap}.detail-tabs .button.active{background:#e4f2eb;border-color:#b9d7c8;color:#146d58}.readonly-code{max-height:360px;overflow:auto;background:#f6f9f7;padding:17px;border:1px solid #e3ece6;border-radius:8px}.diff-list{display:flex;flex-direction:column;gap:14px;max-height:55vh;overflow:auto}.diff-item{border:1px solid #e1e9e3;border-radius:8px;overflow:hidden}.diff-pointer{font-size:11px;padding:10px 13px;background:#f5f8f6;font-family:ui-monospace,monospace}.diff-columns{display:grid;grid-template-columns:1fr 1fr}.diff-value{padding:12px;min-width:0}.diff-value.before{background:#fff7f5}.diff-value.after{background:#f1faf4}.diff-value strong{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#82928a;margin-bottom:8px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:10px;font-weight:650;color:#84988d;letter-spacing:.5px;background:#f8faf9}th,td{padding:14px 13px;border-bottom:1px solid #e5ede8;vertical-align:top}td .row{gap:5px}.account-name{font-weight:650;display:block;margin-bottom:6px}.audit-detail{max-width:500px;max-height:100px;overflow:auto;font-size:10px;color:#6f8478}.empty{padding:42px 20px;text-align:center;color:var(--muted)}.empty h3{color:#597166}.empty p{max-width:450px;margin:8px auto;font-size:12px}.modal{border:1px solid #d1e0d6;border-radius:15px;width:min(690px,calc(100vw - 30px));padding:27px;box-shadow:0 35px 90px #0c302b38;color:#244c40;max-height:90vh;overflow:auto}.modal.wide{width:min(1000px,calc(100vw - 30px))}.modal::backdrop{background:#122c2766;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:15px}.modal-heading h2{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #e2ebe5;padding-top:18px;margin-top:22px;flex-wrap:wrap}.modal textarea{max-height:220px}.form-error{margin-bottom:16px}.check{display:flex;align-items:center;gap:8px;font-size:12px}.grant-card{border:1px solid #dbe7df;border-radius:10px;padding:17px;margin-top:13px}.grant-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:14px}.grant-fields .field{margin-bottom:0}.permission-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px}.search-row{display:flex;gap:10px;margin-bottom:18px}.search-row input{max-width:350px}.status-line{margin:14px 0}.loading{padding:50px;color:var(--muted);text-align:center;font-size:13px}#toast{position:fixed;right:24px;bottom:24px;max-width:min(570px,calc(100vw - 32px));z-index:100}.toast{display:flex;align-items:center;gap:15px;font-size:12px;line-height:1.6;background:#164d40;color:white;padding:13px 16px;border-radius:10px;box-shadow:0 9px 30px #153c3930}.toast.error{background:#9c4141}.toast .button{color:inherit}.password-value{font-family:ui-monospace,monospace;letter-spacing:1px}.divider{height:1px;background:#e3ece6;margin:20px 0}.sticky-actions{position:sticky;bottom:-27px;background:white;padding:18px 0 0;margin-top:18px;border-top:1px solid var(--border)}.published-banner{display:flex;gap:10px;align-items:center;margin-top:10px}.history-list{display:grid;gap:12px}.history-entry{border:1px solid #e0eae3;border-radius:9px;padding:17px}.history-entry pre{margin-top:12px;max-height:180px;overflow:auto}.nowrap{white-space:nowrap}.mobile-brand{display:none}
@media(max-width:1150px){.shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:24px 13px}.content{padding:25px 22px}.topbar{padding:0 23px}.interface-grid{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:850px){.shell{display:block}.sidebar{height:auto;position:static;padding:15px 20px;border-right:0;border-bottom:1px solid var(--border)}.sidebar .brand{padding:0 0 15px}.sidebar-nav{flex-direction:row;gap:6px;overflow:auto}.nav-button{white-space:nowrap;font-size:11px;padding:9px 12px}.sidebar-note{display:none}.topbar{height:61px}.topbar-label{display:none}.interface-grid{grid-template-columns:1fr}.list-card{position:static}.interface-list{max-height:250px}.metrics{grid-template-columns:repeat(3,1fr)}.page-heading{align-items:flex-start}.login-screen{grid-template-columns:1fr;max-width:500px;padding:40px 22px;gap:23px}.login-intro h1{font-size:29px;margin-top:24px;margin-bottom:14px}.login-intro .lead{font-size:13px}.login-points{display:none}.login-card{max-width:none;padding:25px}.modal{padding:21px}.grant-fields{grid-template-columns:1fr}}
@media(max-width:520px){.content{padding:23px 14px}.topbar{padding:0 15px}.user-chip{gap:7px}.user-chip .muted{max-width:95px;overflow:hidden;text-overflow:ellipsis}.page-heading{flex-direction:column;gap:15px}.card{padding:18px}.metrics{gap:7px}.metric{padding:15px 12px}.metric-value{font-size:23px}.metric-label{font-size:9px}.diff-columns{grid-template-columns:1fr}.button{font-size:11px}.modal-actions .button{flex:1}.editor-text{font-size:11px}h1{font-size:25px}.toolbar>.row{width:100%}.toolbar .primary{flex:1}.grant-card{padding:13px}.permission-row{gap:12px}}
