*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Malgun Gothic,Segoe UI,sans-serif;background:#f4f5f7;color:#1f2430}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:#1f2430;color:#fff;display:flex;flex-direction:column;padding:24px 16px;flex-shrink:0}.brand{font-weight:700;font-size:18px;margin-bottom:24px}.sidebar nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar nav a{color:#c7cbd6;text-decoration:none;padding:10px 12px;border-radius:6px;font-size:14px}.sidebar nav a.active,.sidebar nav a:hover{background:#333a4d;color:#fff}.logout-btn{background:transparent;border:1px solid #444b5f;color:#c7cbd6;padding:8px;border-radius:6px;cursor:pointer}.content{flex:1;padding:32px;max-width:1100px}h1{font-size:22px;margin:0 0 16px}h2{font-size:16px;margin:28px 0 12px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}button{background:#2f6fed;color:#fff;border:none;padding:8px 14px;border-radius:6px;cursor:pointer;font-size:14px}button:hover{background:#2559c4}button.danger{background:#d64545}button.danger:hover{background:#b53636}input,select{padding:8px 10px;border:1px solid #d3d7e0;border-radius:6px;font-size:14px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:16px}.toolbar input{width:280px}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:14px}.inline-form{display:flex;flex-wrap:wrap;gap:8px;background:#fff;padding:16px;border-radius:8px;margin-bottom:20px;border:1px solid #e3e5ec}.inline-form input,.inline-form select{flex:1;min-width:120px}.settings-form{background:#fff;padding:20px;border-radius:8px;border:1px solid #e3e5ec;margin-bottom:20px;display:flex;flex-direction:column;gap:12px;max-width:480px}.settings-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#555}.settings-actions{display:flex;align-items:center;gap:16px}.btn-link{color:#2f6fed;font-size:14px;text-decoration:none}.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.data-table th,.data-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #eef0f4;font-size:14px}.data-table th{background:#f8f9fb;font-weight:600;color:#444}.data-table a{color:#2f6fed;text-decoration:none}.row-warn{background:#fff6f0}.empty-row{text-align:center;color:#999;padding:24px}.stat-grid{display:flex;gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:8px;padding:20px;flex:1;border:1px solid #e3e5ec}.stat-card.warn{border-color:#f0b56a;background:#fff8ef}.stat-value{font-size:28px;font-weight:700}.stat-label{color:#777;font-size:13px;margin-top:4px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:12px;background:#fff;padding:20px;border-radius:8px;border:1px solid #e3e5ec}.detail-grid .label{display:block;color:#888;font-size:12px;margin-bottom:2px}.error-msg{background:#fdeeee;color:#b53636;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:14px}.success-msg{background:#eafaf0;color:#2a8a53;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:14px}.hint{color:#666;font-size:14px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{background:#fff;padding:32px;border-radius:10px;width:320px;display:flex;flex-direction:column;gap:14px;box-shadow:0 4px 24px #0000000f}.login-card h1{font-size:20px;margin:0}.login-card .subtitle{color:#888;font-size:13px;margin:-8px 0 8px}.login-card label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#555}
