*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#24313d;background:#f5f7f9}a{text-decoration:none;color:inherit}.login-page{min-height:100vh;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.login-card,.setup-card{width:360px;border:1px solid #d7d7d7;border-radius:5px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03);overflow:hidden}.setup-card{width:min(680px,94vw);padding:22px}.login-logo{height:37px;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:center}.logo-mark{font-weight:800;color:#fff;background:#1676b9;border-radius:4px;padding:5px 10px;font-size:14px}.login-title{text-align:center;padding:9px;font-size:16px;border-bottom:1px solid #ddd}.login-card form{padding:15px}.form-group{margin-bottom:13px}.form-group label{display:block;font-size:13px;margin-bottom:6px;color:#44515d}.input{width:100%;border:1px solid #c9d1d8;background:#fff;border-radius:4px;padding:9px 11px;font-size:14px;outline:none}.input:focus{border-color:#51a7ff;box-shadow:0 0 0 2px rgba(0,123,255,.12)}.password-wrap{position:relative}.password-toggle{position:absolute;right:4px;top:4px;height:32px;width:35px;border:0;background:transparent;color:#67727c}.remember{font-size:13px;display:block;margin:2px 0 14px;color:#333}.btn{display:inline-block;border:1px solid #c9d1d8;border-radius:4px;padding:9px 16px;background:#fff;color:#27333d;cursor:pointer;font-size:14px}.btn-success{background:#55b958;border-color:#55b958;color:#fff}.btn-block{display:block;width:100%;text-align:center}.login-btn{font-size:16px;padding:11px}.powered{margin-top:82px;color:#71808c;font-size:14px}.alert{padding:10px 12px;margin-bottom:15px;border-radius:4px;font-size:13px}.alert.error{background:#fde8e8;color:#a61b1b;border:1px solid #f5c2c2}.alert.success{background:#e8f7eb;color:#1f6b2b;border:1px solid #b9e2c1}.alert.info{background:#e9f3fb;color:#1f5d82;border:1px solid #c3ddec}.muted{color:#71808c;font-size:13px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}hr{border:0;border-top:1px solid #e4e8eb;margin:18px 0}.app-body{min-height:100vh}.topbar{height:58px;background:#fff;border-bottom:1px solid #dfe4e8;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:9px;font-weight:600}.logo-small{background:#1676b9;color:#fff;padding:5px 8px;border-radius:4px;font-size:12px}.top-actions{display:flex;gap:20px;font-size:13px;color:#586672}.layout{display:flex;min-height:calc(100vh - 58px)}.sidebar{width:220px;background:#26343e;padding:14px 8px}.nav-item{display:block;color:#dbe4ea;padding:11px 13px;border-radius:4px;font-size:14px;margin-bottom:3px}.nav-item:hover{background:#334651}.main{flex:1;padding:24px;max-width:1500px}.main h1{margin:0 0 18px;font-size:24px}.main h2{font-size:18px;margin:0 0 15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{background:#fff;border:1px solid #e0e5e9;border-radius:5px;padding:18px}.stat span{display:block;color:#71808c;font-size:13px;margin-bottom:8px}.stat strong{font-size:24px}.panel{background:#fff;border:1px solid #e0e5e9;border-radius:5px;padding:18px;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.panel-head h1,.panel-head h2{margin:0}.search{display:flex;gap:8px;margin-bottom:15px}.search .input{max-width:500px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:10px 9px;border-bottom:1px solid #e7ebee;vertical-align:middle}th{background:#f8fafb;color:#55636f;font-weight:600}.badge{display:inline-block;padding:4px 7px;border-radius:12px;font-size:11px;background:#e8edf1}.badge.active,.badge.paid{background:#def5e3;color:#227237}.badge.suspended,.badge.unpaid{background:#fff0d8;color:#8a5b09}.badge.inactive,.badge.cancelled{background:#fde5e5;color:#9a2727}.table-wrap{overflow:auto}.footer{text-align:center;color:#7b8790;font-size:12px;padding:20px}.setup-card h2{margin-top:8px}.setup-card .btn{margin-top:4px}@media(max-width:900px){.stats{grid-template-columns:1fr 1fr}.sidebar{width:180px}.grid-2{grid-template-columns:1fr}}@media(max-width:650px){.sidebar{display:none}.main{padding:14px}.stats{grid-template-columns:1fr}.login-card{width:92vw}.topbar{padding:0 12px}}
