:root{--bg:#f6f7f9;--ink:#202c33;--muted:#7d8791;--line:#e9ecee;--green:#216c53;--lime:#d9efba;--dark:#142a27;--white:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;font-synthesis:none;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.55}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #7db79a;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;font-weight:700;line-height:1.35}h2{font-size:17px;letter-spacing:-.4px}h3{font-size:15px}small{font-size:12px}strong{font-weight:600}.muted{color:var(--muted)}.nowrap{white-space:nowrap}.sidebar{width:246px;position:fixed;inset:0 auto 0 0;background:var(--dark);color:#d5e2dc;display:flex;flex-direction:column;padding:28px 18px;z-index:20}.brand{font-size:34px;font-weight:750;letter-spacing:-2px;display:flex;align-items:center;color:#f7fbf8;line-height:1.2;padding:0 13px}.brand-dot{color:#b5d38a}.brand-mark{display:inline-flex;margin-right:13px;font-size:30px;font-style:italic;font-weight:750;width:34px;position:relative;color:var(--lime)}.brand-mark span{position:absolute;top:-10px;right:0;font-size:22px}.workspace{border:1px solid #36504a;display:flex;gap:10px;align-items:center;border-radius:9px;padding:13px 10px;margin:33px 0 28px}.workspace-avatar{width:31px;height:33px;border-radius:6px;background:#284a41;display:grid;place-items:center;font-size:12px;color:#d9efba}.workspace strong{font-size:11px;display:block}.workspace small{font-size:10px;color:#88a198;display:block;margin-top:3px}.workspace-arrow{margin-left:auto;color:#809c91}.nav-label{display:block;font-size:9px;font-weight:650;color:#76958a;letter-spacing:1.5px;margin:0 14px 13px}nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:7px;margin-bottom:4px;color:#a9bfb6;font-size:13px;transition:.15s}nav a:hover{background:#203f36}nav a.active{background:#d9efba;color:#204232;font-weight:650}.nav-icon{font-size:20px;width:22px;line-height:1}.second{margin-top:30px}.sidebar-bottom{margin-top:auto;padding-top:30px}.worker-indicator{border-bottom:1px solid #2c4840;margin:0 10px 19px;padding-bottom:20px;font-size:11px}.worker-indicator small{display:block;color:#759287;font-size:10px;padding-left:14px;margin-top:6px}.dot{display:inline-block;width:6px;height:6px;background:#a5ada7;border-radius:50%;margin-right:6px;flex-shrink:0}.dot.green{background:#60b986}.user-row{display:flex;align-items:center;gap:10px;padding:0 6px}.avatar{width:33px;height:33px;display:grid;place-items:center;background:#d9dfd1;color:#274b3c;border-radius:50%;font-weight:700}.user-row strong{font-size:12px;display:block}.user-row small{font-size:10px;display:block;color:#88a398}.user-row form{margin-left:auto}.logout{background:transparent;color:#b1c7bc;border:0;font-size:22px}.app-shell{margin-left:246px}.topbar{height:77px;padding:0 38px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:12px;color:#6f7e82}.breadcrumb span{padding:0 13px;color:#c2c9ce}.topbar-right{display:flex;align-items:center;gap:20px}.timezone{font-size:11px;color:#849097}.role-chip{font-size:9px;letter-spacing:1px;border:1px solid #dce4e0;padding:4px 9px;border-radius:5px;color:#4c7362}.mobile-toggle{display:none}.app-shell main{max-width:1700px;margin:auto;padding:35px 38px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:29px}.eyebrow{font-size:9px;letter-spacing:1.6px;color:#8b9895;font-weight:700;display:block;margin-bottom:10px}.page-heading p{color:var(--muted);font-size:12px;margin-top:9px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:10px 15px;border:1px solid #dce2e1;border-radius:7px;font-size:12px;font-weight:600;color:#4a5957;background:#fff;line-height:1.4;white-space:nowrap}.button:hover{background:#f0f5f1}.button.primary{background:var(--green);border-color:var(--green);color:white}.button.primary:hover{background:#18563f}.button.danger{color:#a34d40;background:#fff6f3;border-color:#eeded7}.button.small{font-size:11px;padding:7px 11px}.button.full{width:100%;justify-content:space-between}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:27px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:22px 23px}.stat-label{font-size:12px;color:#788582;display:flex;justify-content:space-between}.stat-label>span{font-size:16px;color:#aab6af}.stat>strong{font-size:35px;display:block;line-height:1;margin-top:24px;margin-bottom:19px;font-weight:650;letter-spacing:-1px}.stat strong small{font-size:12px;color:#92a099;margin-left:7px;font-weight:400}.stat p{font-size:10px;color:#8a9690}.stat.accent{background:#ecf4e5;border-color:#e0ead9}.card{background:var(--white);border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:23px 24px;border-bottom:1px solid var(--line)}.section-heading p{font-size:11px;color:var(--muted);margin-top:5px}.count{font-size:11px;background:#f1f4f1;color:#77917a;border-radius:5px;padding:2px 7px;margin-left:6px;vertical-align:middle}.text-link{font-size:11px;color:#537461;font-weight:600;white-space:nowrap}.text-link:hover{text-decoration:underline}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{background:#fcfcfd;font-size:10px;font-weight:500;color:#909a9e;border-bottom:1px solid var(--line);padding:13px 22px;white-space:nowrap}td{padding:18px 22px;border-bottom:1px solid #f0f2f3;font-size:11px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdfb}.account-name{display:flex;align-items:center;gap:12px;min-width:130px}.account-name strong{display:block;font-size:12px}.account-name small{display:block;font-size:9px;color:#929c99;margin-top:3px}.account-avatar{width:33px;height:35px;border:1px solid #dfebe3;background:#f2f7f2;color:#63856c;border-radius:8px;display:grid;place-items:center;font-weight:700}.badge{font-size:10px;display:inline-flex;align-items:center;padding:4px 8px;border-radius:5px;background:#f2f4f6;color:#819096;white-space:nowrap;font-weight:500;vertical-align:middle}.badge .dot{width:5px;height:5px;background:currentColor}.badge.live,.status-success{color:#398b63;background:#eaf6ef}.status-failed,.status-unknown{color:#bb6556;background:#fff0e9}.status-dry_run{color:#568599;background:#ecf3f8}.warm,.status-sending{color:#b28d46;background:#faf4e6}.status-pending{color:#7a7d8e;background:#f0f0f7}.number{font-weight:600;font-size:13px}.number .muted{font-size:10px;margin-left:4px;font-weight:400}.cell-note{display:block;color:#949da1;font-size:9px;margin-top:4px;max-width:420px;overflow-wrap:anywhere}.row-arrow{font-size:19px;color:#9aa9a1}.dashboard-bottom{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.guide-card{background:#f0f4ee;padding:27px 25px;border-color:#e5eae2;position:relative}.guide-card h2{font-size:23px;line-height:1.5;margin:14px 0 25px;letter-spacing:-.8px}.guide-symbol{position:absolute;right:23px;top:20px;color:#bed2b5;font-size:33px}.guide-card ol{list-style:none;padding:0;margin:0 0 28px}.guide-card li{display:flex;gap:13px;margin-top:19px}.guide-card li>span{color:#82a275;font-size:10px;line-height:24px}.guide-card li strong{font-size:11px}.guide-card li p{color:#929f8f;font-size:10px;margin-top:3px}.empty{padding:38px 22px;text-align:center}.empty>span{display:block;color:#adc0b6;font-size:26px;margin-bottom:10px}.empty h3{font-size:13px;color:#74867d}.empty p{font-size:11px;color:#9ba79f;margin-top:7px}.notice{padding:14px 17px;border-radius:7px;font-size:12px;margin-bottom:20px;border:1px solid #e1e9e1;line-height:1.8;background:#eff7f0;color:#46745b}.notice.warning{background:#fffaf0;border-color:#f1e7d4;color:#9c8453}.notice.error{background:#fff1ef;color:#ae5c51;border-color:#efd9d5}.notice.subtle{background:#f0f4f6;color:#78878c;border-color:#e4eaed}.notice ul{margin:0;padding-left:18px}footer{font-size:10px;color:#a7afaf;display:flex;justify-content:space-between;padding:14px 0 0}.form-card{max-width:850px;padding:28px}.field{margin-bottom:23px}label{display:block;font-size:12px;font-weight:600;margin-bottom:8px;color:#52605c}input:not([type=checkbox]),textarea,select{display:block;width:100%;background:#fff;border:1px solid #dce3df;border-radius:7px;padding:10px 12px;color:#384b43;min-height:40px}textarea{resize:vertical;line-height:1.7}input:disabled{background:#f4f6f4;color:#9aa69d}input[type=checkbox]{accent-color:#2b7758;width:16px;height:16px;vertical-align:middle}.help{font-size:11px;color:#94a097;line-height:1.7;margin-top:7px}.help ul{padding-left:17px}.field-error{color:#b45b4c;font-size:11px;margin-top:6px}.field-error ul{margin:0;padding-left:18px}#id_weekdays{display:flex;gap:12px;flex-wrap:wrap}#id_weekdays label{font-weight:400}.check-field{display:flex;flex-wrap:wrap;align-items:center;column-gap:10px}.check-field>label{margin:0}.check-field .help{flex-basis:100%}.form-actions{display:flex;gap:10px;margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:24px}.padded{padding:24px}.group-meta{font-size:10px;color:#94a29a;padding:12px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.group-list{max-height:560px;overflow:auto}.group-row{display:flex;gap:11px;align-items:center;padding:18px 22px;border-bottom:1px solid #f1f3f1}.group-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;background:#f2f6f2;color:#8aa18c}.group-info{flex:1;min-width:0}.group-info strong{font-size:12px;display:block;overflow-wrap:anywhere}.group-info small{font-size:10px;color:#9aa79e;display:block;margin-top:3px}.group-row form{text-align:center}.group-row form small{font-size:8px;color:#95a396;display:block}.toggle{width:33px;height:20px;border:0;border-radius:15px;background:#dde3df;padding:3px;display:block}.toggle span{display:block;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002}.toggle.on{background:#498561}.toggle.on span{margin-left:auto}.add-group{padding:18px 22px;background:#fcfdfb;font-size:12px;color:#6e8877}.add-group summary{cursor:pointer}.add-group form{padding-top:22px}.account-summary{padding:23px}.account-summary dl{margin:17px 0}.account-summary dl>div{display:flex;justify-content:space-between;gap:20px;margin-bottom:12px;font-size:11px}.account-summary dt{color:#92a095}.account-summary dd{margin:0;text-align:right}.account-summary .text-link{display:block;margin-top:18px}.search-form{display:flex;gap:8px}.search-form input{min-width:130px;max-width:240px;font-size:11px}.filters{padding:23px;display:flex;gap:12px;align-items:end;flex-wrap:wrap;border-bottom:1px solid var(--line)}.filters>div{flex:1;min-width:120px}.filters label{font-size:10px}.filters select,.filters input{font-size:11px}.filters>.text-link{padding:11px 0}.pagination{display:flex;justify-content:space-between;align-items:center;padding:20px 23px;border-top:1px solid var(--line);font-size:10px;color:#97a09d}.pagination>div{display:flex;gap:8px}.login-layout{min-height:100vh;display:grid;grid-template-columns:47% 53%}.login-brand{background:var(--dark);color:white;padding:43px 55px;display:flex;flex-direction:column;overflow:hidden}.login-brand .brand{padding:0;font-size:40px}.login-statement{margin:auto 0;padding:60px 0 20px}.login-statement .eyebrow{color:#90af9e}.login-statement h1{font-size:42px;line-height:1.45;letter-spacing:-1.4px;margin-top:22px}.login-statement p{color:#9bb5a8;margin-top:20px;font-size:14px;line-height:1.9}.login-brand>small{color:#6b9580;font-size:10px;margin-top:35px}.orbit{width:235px;height:235px;margin:60px auto 25px;border:1px solid #365947;border-radius:50%;position:relative;display:grid;place-items:center}.orbit:before{content:'';width:160px;height:160px;border:1px dashed #365947;border-radius:50%;position:absolute}.orbit-core{width:76px;height:76px;border-radius:21px;background:#d9efba;color:#2e6242;display:grid;place-items:center;font-size:35px;font-weight:700}.orbit-point{position:absolute;font-size:11px;color:#c4dbce;background:#224233;padding:8px 16px;border:1px solid #41614c;border-radius:20px}.orbit-point.one{top:-15px;left:80px}.orbit-point.two{right:-25px;bottom:45px}.orbit-point.three{left:-30px;bottom:50px}.login-main{display:grid;place-items:center;padding:40px;background:#fbfcfa}.login-card{width:100%;max-width:360px}.login-card h2{font-size:25px;letter-spacing:-1px;margin:14px 0 8px}.login-card>.muted{font-size:12px;margin-bottom:34px}.login-card input{margin-bottom:21px;background:white}.login-card .button{margin-top:10px;height:44px}.login-note{font-size:11px;color:#a2aca5;text-align:center;line-height:1.9;margin-top:30px}.login-card .notice{font-size:11px}@media(min-width:1550px){.app-shell main{padding:42px 55px}.stats-grid{gap:24px}.stat{padding:25px 28px}.dashboard-bottom{grid-template-columns:minmax(0,1fr) 345px}}@media(max-width:1200px){.sidebar{width:216px;padding:25px 12px}.app-shell{margin-left:216px}.app-shell main{padding:28px 24px}.topbar{padding:0 24px}.stats-grid{gap:12px}.stat{padding:18px 16px}.dashboard-bottom{grid-template-columns:1fr}.guide-card{display:none}.detail-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start}td,th{padding-left:16px;padding-right:16px}}@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:246px}.nav-open .sidebar{transform:translateX(0)}.app-shell{margin-left:0}.mobile-toggle{display:inline-block;background:none;border:0;color:#5d7366;font-size:20px;margin-right:12px}.topbar{height:65px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{flex-direction:column;gap:18px}.page-heading h1{font-size:27px}.login-layout{grid-template-columns:1fr}.login-brand{display:none}.login-main{min-height:100vh}.breadcrumb{font-size:10px}.timezone{display:none}}@media(max-width:500px){.app-shell main{padding:24px 16px}.topbar{padding:0 15px}.section-heading{padding:20px 16px;flex-wrap:wrap}.stat>strong{font-size:30px}.stat-label{font-size:11px}.stat p{font-size:9px}.stat-label>span{display:none}.form-card,.padded{padding:20px 16px}.detail-grid{display:block}.filters>div{min-width:calc(50% - 12px)}.filters{padding:16px}.search-form{width:100%}.search-form input{max-width:none}.page-heading .actions{width:100%}.page-heading .button{font-size:11px}footer{font-size:9px}.group-row{padding:15px}.login-main{padding:28px}}
