*{margin:0;padding:0;box-sizing:border-box}body{font-family:Pretendard,system-ui,-apple-system,sans-serif;background:#f5f6fa;color:#1a1a2e}.app{display:flex;min-height:100vh}.sidebar{width:240px;background:#1a1a2e;color:#fff;padding:24px 0;display:flex;flex-direction:column}.sidebar .logo{font-size:1.3rem;font-weight:700;padding:0 20px;margin-bottom:32px}.sidebar a{display:block;padding:12px 20px;color:#a0a0b8;text-decoration:none;font-size:.95rem;transition:all .15s}.sidebar a:hover,.sidebar a.active{color:#fff;background:#ffffff14}.sidebar a{position:relative}.sidebar .nav-section-label{padding:8px 20px 4px;font-size:.7rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.sidebar .nav-divider{height:1px;background:#ffffff0f;margin:8px 16px}.sidebar .nav-badge{display:inline-block;background:#ef5350;color:#fff;font-size:.7rem;font-weight:600;padding:1px 7px;border-radius:10px;margin-left:6px;vertical-align:middle}.sidebar .spacer{flex:1}.sidebar .user-info{padding:12px 20px;font-size:.85rem;color:#a0a0b8;border-top:1px solid rgba(255,255,255,.1)}.main{flex:1;padding:24px 32px;overflow-y:auto}.main h1{font-size:1.5rem;margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:24px}.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000f}.card .label{font-size:.85rem;color:#888;margin-bottom:4px}.card .value{font-size:1.8rem;font-weight:700}.table-wrap{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000f}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #f0f0f5;font-size:.9rem}th{color:#888;font-weight:500}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.8rem;font-weight:500}.badge.green{background:#e8f5e9;color:#2e7d32}.badge.orange{background:#fff3e0;color:#e65100}.badge.blue{background:#e3f2fd;color:#1565c0}.badge.red{background:#fce4ec;color:#c62828}.badge.gray{background:#f5f5f5;color:#666}.btn{display:inline-block;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s}.btn-primary{background:#1a1a2e;color:#fff}.btn-primary:hover{background:#2a2a4e}.btn-success{background:#2e7d32;color:#fff}.btn-danger{background:#c62828;color:#fff}.btn-outline{background:transparent;border:1px solid #ddd;color:#333}.btn-sm{padding:5px 10px;font-size:.8rem}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:.9rem;margin-bottom:12px}input:focus,select:focus,textarea:focus{outline:none;border-color:#1a1a2e}.form-row{display:flex;gap:12px}.form-row>*{flex:1}.login-wrap{display:flex;justify-content:center;align-items:center;height:100vh;background:#1a1a2e}.login-box{background:#fff;padding:40px;border-radius:16px;width:360px;text-align:center}.login-box h1{margin-bottom:8px}.login-box p{color:#888;margin-bottom:24px;font-size:.9rem}.login-box .error{color:#c62828;font-size:.85rem;margin-bottom:12px}.section{margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h2{font-size:1.1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:100}.modal{background:#fff;border-radius:16px;padding:28px;width:480px;max-height:80vh;overflow-y:auto}.modal h2{margin-bottom:16px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.tabs{display:flex;gap:4px;margin-bottom:20px}.tab{padding:8px 16px;border-radius:8px;border:1px solid #ddd;background:#fff;cursor:pointer;font-size:.9rem;font-weight:500;color:#666;transition:all .15s}.tab.active{background:#1a1a2e;color:#fff;border-color:#1a1a2e}.toggle{position:relative;width:44px;height:24px;background:#ccc;border-radius:12px;cursor:pointer;transition:background .2s}.toggle.on{background:#2e7d32}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s}.toggle.on:after{transform:translate(20px)}.empty{text-align:center;padding:40px;color:#999;font-size:.95rem}a.link{color:#1565c0;text-decoration:none}a.link:hover{text-decoration:underline}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-8{gap:8px}.mt-12{margin-top:12px}.mb-12{margin-bottom:12px}.md-sheet{font-size:.85rem;line-height:1.9;color:#333}.md-sheet .md-p{margin:0 0 8px}.md-sheet .md-h2{font-size:1.05rem;font-weight:700;margin:16px 0 8px;padding-bottom:4px;border-bottom:2px solid #1565c0;color:#1a1a2e}.md-sheet .md-h3{font-size:.95rem;font-weight:700;margin:12px 0 6px;padding-bottom:3px;border-bottom:1px solid #ddd;color:#333}.md-sheet .md-h4{font-size:.88rem;font-weight:600;margin:10px 0 4px;color:#555}.md-sheet strong{color:#1a1a2e}.md-sheet .md-list{margin:4px 0 8px 16px;padding:0}.md-sheet .md-list li{margin-bottom:3px}.md-sheet .md-table-wrap{overflow-x:auto;margin:8px 0}.md-sheet .md-table{width:100%;border-collapse:collapse;font-size:.8rem}.md-sheet .md-table th{background:#f5f6fa;padding:7px 10px;border-bottom:2px solid #ddd;text-align:left;font-weight:600;white-space:nowrap}.md-sheet .md-table td{padding:6px 10px;border-bottom:1px solid #eee}.md-sheet .md-table tr:hover{background:#f9f9fb}.md-sheet .md-code{background:#f0f0f5;padding:1px 6px;border-radius:3px;font-family:monospace;font-size:.82rem}.md-sheet .md-hr{border:none;border-top:1px solid #ddd;margin:12px 0}.hamburger{display:none;position:fixed;top:12px;left:12px;z-index:200;width:40px;height:40px;border-radius:8px;border:none;background:#1a1a2e;color:#fff;font-size:1.3rem;cursor:pointer;box-shadow:0 2px 8px #00000026}.sidebar-backdrop{display:none}@media (max-width: 768px){.hamburger{display:block}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:150}.sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;transform:translate(-100%);transition:transform .25s ease;z-index:180;box-shadow:2px 0 12px #0003}.sidebar.open{transform:translate(0)}.main{padding:60px 16px 24px}.main h1{font-size:1.2rem;margin-bottom:14px}.cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.card{padding:14px}.card .value{font-size:1.3rem}.card .label{font-size:.78rem}.table-wrap{padding:12px;overflow-x:auto}.table-wrap table{min-width:560px}th,td{padding:7px 8px;font-size:.82rem}.form-row{flex-direction:column;gap:6px}input,select,textarea{padding:9px 10px;font-size:.9rem}.modal{width:calc(100vw - 24px);max-width:520px;padding:18px;max-height:90vh;border-radius:12px}.modal h2{font-size:1.1rem;margin-bottom:12px}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:1;min-width:100px}.section-header{flex-wrap:wrap;gap:6px}.section-header h2{font-size:1rem}.tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}.tab{flex:0 0 auto;padding:6px 12px;font-size:.82rem;white-space:nowrap}.btn{padding:8px 12px;font-size:.85rem}.btn-sm{padding:5px 9px;font-size:.76rem}.login-box{width:calc(100vw - 32px);max-width:360px;padding:28px 24px}.md-sheet .md-table{font-size:.75rem}.md-sheet .md-h2{font-size:.98rem}}@media (max-width: 380px){.cards{grid-template-columns:1fr}.main{padding:56px 12px 20px}}
