:root{--ink:#11120f;--paper:#f7f7f2;--white:#fff;--salt:#f3f3ec;--lime:#c9ff45;--muted:#686b63;--line:#dcddd4;--shadow:0 28px 70px rgba(24,31,22,.13)}
*{margin:0;padding:0;box-sizing:border-box}
body{font:15px/1.65 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--paper)}
a{color:inherit;text-decoration:none}
.wrap{width:min(1216px,calc(100% - 48px));margin:auto}
.nav{height:74px;display:flex;align-items:center;background:var(--paper);position:sticky;top:0;z-index:80;border-bottom:1px solid rgba(220,221,212,.6)}
.nav-inner{width:min(1320px,calc(100% - 42px));margin:auto;display:flex;align-items:center;gap:38px}
.logo{font-size:33px;font-weight:900;letter-spacing:-.08em;display:flex;align-items:center;gap:9px}
.logo-crystal{width:24px;height:24px;position:relative;display:inline-block}
.logo-crystal:before,.logo-crystal:after{content:"";position:absolute;background:var(--ink);transform:rotate(45deg)}
.logo-crystal:before{width:13px;height:13px;left:1px;top:8px}
.logo-crystal:after{width:9px;height:9px;right:0;top:1px;background:var(--lime);border:2px solid var(--ink)}
.brand-lockup{letter-spacing:-.065em}
.brand-lockup>span:nth-child(2){white-space:nowrap}
.brand-lockup b{font-weight:560;color:var(--muted)}
.brand-by{font-size:10px;font-weight:650;line-height:1.25;letter-spacing:.02em;color:#777a72;max-width:75px;margin-left:2px}
.nav-links{display:flex;align-items:center;gap:28px;margin-left:auto}
.nav-link{font-size:14px;background:transparent;border:0;padding:8px 0;position:relative;color:var(--ink)}
.nav-link:hover{opacity:.55}
.nav-link.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--lime);border-radius:2px}
.nav-user{font-size:14px;color:var(--muted);padding:8px 0;margin-right:8px;cursor:pointer}
.nav-user:hover{opacity:.55}
main{padding:60px 0;min-height:calc(100vh - 74px - 200px)}
.container{width:min(1216px,calc(100% - 48px));margin:auto}
h1{font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-.055em;margin:0 0 30px;font-weight:570;color:var(--ink)}
h2{font-size:clamp(28px,3vw,42px);line-height:1.1;letter-spacing:-.04em;margin:0 0 20px;font-weight:560;color:var(--ink)}
h3{font-size:24px;margin:0 0 15px;font-weight:560;color:var(--ink)}
p{margin:0 0 15px;color:#5e625a}
.card{background:var(--white);border-radius:16px;padding:32px;margin-bottom:24px;box-shadow:0 8px 24px rgba(17,18,15,.06)}
.btn{border:0;border-radius:999px;padding:13px 24px;font-weight:760;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s;cursor:pointer;text-decoration:none;font-size:14px}
.btn:hover{transform:translateY(-2px)}
.btn.dark{background:var(--ink);color:#fff}
.btn.lime{background:var(--lime);color:var(--ink)}
.btn.white{background:#fff;color:var(--ink)}
.btn.line{border:1px solid var(--ink);background:transparent;color:var(--ink)}
.btn.sm{padding:9px 16px;font-size:12px}
.form-group{margin-bottom:24px}
.form-group label{display:block;font-size:12px;font-weight:750;margin-bottom:8px;color:var(--ink)}
.form-group input,.form-group textarea,.form-group select{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px;background:#fbfcf8;font:inherit;color:var(--ink)}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--ink)}
.form-group textarea{min-height:200px;resize:vertical}
.alert{padding:16px 20px;border-radius:12px;margin-bottom:24px;font-size:14px}
.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}
.alert-info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}
.news-item{border-bottom:1px solid var(--line);padding:24px 0}
.news-item:last-child{border-bottom:none}
.news-item h3{margin-bottom:10px;font-size:22px}
.news-item h3 a{color:var(--ink);transition:.2s}
.news-item h3 a:hover{color:var(--muted)}
.news-meta{color:var(--muted);font-size:13px;margin-bottom:12px}
table{width:100%;border-collapse:collapse;margin-top:24px;background:var(--white);border-radius:12px;overflow:hidden}
table th,table td{padding:16px;text-align:left;border-bottom:1px solid var(--line)}
table th{background:var(--salt);font-weight:760;font-size:13px;color:var(--ink)}
table td{font-size:14px;color:#5e625a}
table tr:last-child td{border-bottom:none}
.status-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700}
.status-pending{background:#fff3cd;color:#856404}
.status-approved{background:#d4edda;color:#155724}
.status-rejected{background:#f8d7da;color:#721c24}
footer{background:var(--ink);color:#fff;padding:70px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px;margin-bottom:55px}
.footer-brand p{color:#a4a89f;max-width:330px;font-size:14px;line-height:1.7}
.footer-col b{display:block;margin-bottom:15px;font-size:14px}
.footer-col a,.footer-col span{display:block;color:#a4a89f;margin:8px 0;font-size:13px;transition:.2s}
.footer-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid #353a34;padding-top:20px;display:flex;justify-content:space-between;color:#868b82;font-size:12px}
@media(max-width:1050px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.container,.nav-inner{width:calc(100% - 30px)}.nav-links{display:none}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.logo{font-size:27px}}
