:root{--ink:#111;--muted:#707070;--line:#e4e4e4;--soft:#f7f7f7;--white:#fff}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:14px Arial,sans-serif}a{color:inherit}.auth-body{min-height:100vh;display:grid;place-items:center;background:#fafafa;padding:24px}.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);padding:34px;border-radius:12px}.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700}.wordmark b{display:grid;place-items:center;width:30px;height:30px;background:#111;color:#fff;border-radius:6px;font-size:10px}.auth-card header{margin:34px 0 24px}.auth-card h1,.heading h1{font-size:27px;letter-spacing:-.04em;margin:0}.auth-card header p,.heading span{color:var(--muted);line-height:1.5}.form{display:grid;gap:16px}.form label,.stack{display:grid;gap:7px;font-size:12px;font-weight:700}.form input,.form textarea,.form select,.inline-form select{width:100%;border:1px solid #ccc;border-radius:7px;padding:11px;background:#fff;outline:0}.form textarea{min-height:85px;resize:vertical}.form input:focus,.form textarea:focus,.form select:focus{border-color:#555;box-shadow:0 0 0 3px #eee}.form small{font-weight:400;color:#888}.primary,.button{border:1px solid #bbb;background:#fff;border-radius:7px;padding:10px 14px;font-weight:700;text-decoration:none;cursor:pointer}.primary{background:#111;color:#fff;border-color:#111}.form-foot{text-align:center;color:#777;font-size:12px}.notice{border:1px solid #bbb;padding:11px 13px;border-radius:7px;margin-bottom:16px;font-size:12px}.notice.error{border-style:dashed}.notice.success{background:#f6f6f6}.setup{line-height:1.7;color:#555}.setup code{display:block;background:#f5f5f5;border:1px solid #ddd;padding:12px;border-radius:6px;overflow:auto}.portal{min-height:100vh}.portal aside{position:fixed;inset:0 auto 0 0;width:240px;border-right:1px solid var(--line);padding:24px 17px;display:flex;flex-direction:column;background:#fff;z-index:5}.portal nav{margin-top:40px;display:grid;gap:4px}.portal nav small{font-size:9px;color:#999;letter-spacing:.12em;margin:0 12px 9px}.portal nav a{padding:11px 12px;border-radius:7px;text-decoration:none;color:#626262}.portal nav a.active,.portal nav a:hover{background:#f2f2f2;color:#111}.portal nav i{float:right;background:#111;color:#fff;font-style:normal;border-radius:10px;padding:2px 6px;font-size:9px}.account{margin-top:auto;border-top:1px solid var(--line);padding-top:17px;display:flex;gap:10px;align-items:center}.account>span,.profile-photo{display:grid;place-items:center;border:1px solid #ccc;background:#f4f4f4;border-radius:50%;width:36px;height:36px;font-weight:700}.account div{display:grid;gap:3px}.account small{color:#888}.link-button{margin:15px 0 0;padding:0;border:0;background:transparent;color:#777;text-decoration:underline;cursor:pointer}.portal main{margin-left:240px}.top{height:70px;border-bottom:1px solid var(--line);padding:0 30px;display:flex;align-items:center;justify-content:space-between}.top>div{display:grid;gap:4px}.top span{color:#888;font-size:10px}.top strong{font-size:13px}.account-status{border:1px solid #ddd;padding:7px 10px;border-radius:15px;color:#333!important}.mobile-menu{display:none;border:0;background:#fff;font-size:20px}.content{max-width:1250px;margin:auto;padding:38px 30px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.heading p{font-size:10px;letter-spacing:.12em;color:#888}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cards article,.panel,.message{border:1px solid var(--line);border-radius:9px;padding:20px}.cards small{color:#777}.cards strong{display:block;font-size:25px;margin:18px 0 7px}.cards p,.panel p{color:#777;font-size:12px;margin:0}.panel{margin-top:14px}.panel h2{font-size:14px;margin:0 0 16px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head p{margin-top:6px}.table-panel{padding:0;overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{background:#fafafa;color:#777;text-align:left;font-size:10px;padding:13px 16px}td{border-top:1px solid #eee;padding:15px 16px;color:#555;font-size:12px}td strong,td small{display:block}td small{color:#999;margin-top:4px}.badge{display:inline-block;border:1px solid #ccc;border-radius:12px;padding:4px 8px;font-size:10px}.badge.pending,.badge.warning{border-style:dashed}.badge.blocked,.badge.rejected,.badge.serious{background:#222;color:#fff}.empty{text-align:center;padding:35px;color:#888}.back{font-size:12px;color:#777}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two-col .panel{margin-top:0;margin-bottom:14px}.inline-form{display:flex;gap:8px}.inline-form select{flex:1}.stack{gap:11px}.check{display:flex!important;align-items:center;gap:9px!important;font-weight:400!important}.check input{width:auto}.danger{border-style:dashed}.compact{gap:11px}.timeline>div{border-left:1px solid #ccc;padding:0 0 17px 14px}.timeline p{margin:5px 0}.timeline small,.muted{color:#999}.message-list{display:grid;gap:12px}.message{position:relative}.message.unread{border-color:#888;border-width:1.5px}.message>div{display:flex;justify-content:space-between}.message h2{font-size:15px;margin:16px 0 7px}.message p{color:#555;line-height:1.6}.message form{position:absolute;right:18px;bottom:18px}.profile-panel{display:grid;grid-template-columns:100px minmax(0,580px);gap:28px;align-items:start}.profile-photo{width:88px;height:88px;font-size:28px;overflow:hidden}.profile-photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:850px){.cards{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.portal aside{transform:translateX(-100%);transition:.2s}.portal aside.open{transform:none;box-shadow:12px 0 30px #ddd}.portal main{margin-left:0}.mobile-menu{display:block}.top>div{margin-right:auto;margin-left:12px}.content{padding:28px 16px}.profile-panel{grid-template-columns:1fr}.message form{position:static;margin-top:15px}}
@media(max-width:500px){.auth-card{padding:24px}.cards{grid-template-columns:1fr}.heading{align-items:flex-start;gap:15px}.heading h1{font-size:23px}.account-status{display:none}.inline-form{display:grid}.profile-photo{width:72px;height:72px}}
.portal nav small.nav-section{margin-top:14px}.portal nav a.nav-sub{padding-left:22px}
