:root{font-family:Noto Sans KR,sans-serif;color:#20252c;background:#e9edf2;font-synthesis:none;--ink:#20252c;--primary:#536678;--primary-hover:#435565;--page:#e9edf2;--work:#f7f9fb;--line:#e3e8ee;--muted:#778394;--soft:#f0f3f7;--danger:#d64f55;--success:#4e756c;--warning:#956b40}*{box-sizing:border-box}body{margin:0;min-width:320px;font-size:14px}button,input,select,textarea{font:inherit}button,a{transition:background .15s,border-color .15s,color .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #65788b;outline-offset:2px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.wordmark{color:var(--ink);font-size:26px;font-weight:700;letter-spacing:-1.8px;text-decoration:none}.app-loading,.forbidden{display:grid;min-height:100vh;place-content:center;text-align:center}.app-frame{display:grid;grid-template-columns:270px minmax(0,1fr);width:calc(100% - 48px);min-height:calc(100vh - 48px);margin:24px;background:#f6f8fa;box-shadow:0 1px 4px #1b27330a}.sidebar{position:sticky;top:24px;display:flex;height:calc(100vh - 48px);flex-direction:column;padding:22px 14px 18px;border-right:1px solid var(--line);background:#fff}.sidebar>.wordmark{padding:0 12px}.workspace-summary{display:grid;gap:6px;margin:24px 6px 0;padding:15px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.workspace-summary small,.workspace-summary span{color:#8994a2;font-size:11px}.workspace-summary strong{color:#3b4450;font-size:13px}.account-panel{margin:14px 6px 0;padding:15px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#fff,#f5f8fb)}.account-row{display:flex;align-items:center;gap:11px}.avatar{display:grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border-radius:50%;color:#fff;background:var(--primary);font-weight:700}.avatar-button{padding:0;border:0}.avatar-button:hover{background:var(--primary-hover)}.account-menu-wrap{position:relative}.account-action-menu{position:absolute;top:46px;left:0;z-index:20;width:150px;overflow:hidden;padding:5px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 12px 28px #25344226}.account-action-menu button{display:flex;width:100%;align-items:center;gap:8px;padding:9px 10px;border:0;border-radius:8px;color:#4f5d6c;background:#fff;text-align:left;font-size:12px}.account-action-menu button:hover{background:#f0f3f7}.account-action-menu svg{width:15px}.account-row>div{display:grid;gap:2px}.account-row small{color:#8490a0}.account-panel dl{display:grid;gap:7px;margin:14px 0;padding:12px 0;border-block:1px solid #e5eaf0}.account-panel dl div{display:flex;justify-content:space-between}.account-panel dt{color:#8a95a4;font-size:11px}.account-panel dd{margin:0;font-size:11px;font-weight:600}.account-panel>button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:8px 10px;border:0;border-radius:10px;color:#4f5d6c;background:#e9eef3;font-size:12px;font-weight:600}.account-panel .logout{margin-top:7px;color:#7a5660;background:#f6eef0}.account-panel svg{width:15px}.sidebar nav{margin-top:27px}.sidebar nav>p{margin:0 13px 9px;color:#8490a1;font-size:12px;font-weight:600}.nav-links{display:grid;gap:5px}.nav-links a{display:flex;height:44px;align-items:center;gap:12px;padding:0 14px;border-radius:11px;color:#596675;text-decoration:none}.nav-links a:hover{color:#20262e;background:#f3f5f8}.nav-links a.active{color:#20262e;background:#edf1f5;font-weight:600}.nav-links svg{width:17px}.work-area{min-width:0;background:var(--work)}.topbar{display:flex;height:72px;align-items:center;justify-content:flex-end;padding:0 30px;border-bottom:1px solid var(--line);background:#fff}.topbar-date{padding:10px 14px;border:1px solid #dce2e8;border-radius:12px;color:#606c7a;background:#fff;font-size:13px}.content{padding:31px 30px 60px}.mock-badge{position:fixed;right:12px;bottom:12px;z-index:30;padding:5px 8px;border-radius:6px;color:#fff;background:#344554d9;font:10px DM Mono,monospace}.page-header,.home-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.page-header h1,.home-heading h1{margin:0;font-size:28px;letter-spacing:-1.2px}.page-header p,.home-heading>div>p:last-child{margin:8px 0 0;color:var(--muted);font-size:14px}.page-actions{display:flex;flex-wrap:wrap;gap:8px}.project-kicker{display:flex;align-items:center;gap:8px!important;color:#667282!important;font-size:13px!important}.project-kicker span{padding-left:8px;border-left:1px solid #dce2e8;color:#8994a2}.stack,.profile-grid{display:grid;gap:18px}.card{overflow:hidden;border:1px solid #dfe5eb;border-radius:16px;background:#fff;box-shadow:0 2px 6px #202d3a09}.card+.card{margin-top:18px}.card-head{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid #e5eaf0}.card-head h2{margin:0;font-size:18px;letter-spacing:-.7px}.card-head p{margin:5px 0 0;color:#7c8897;font-size:13px}.primary,.secondary{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border-radius:10px;font-weight:600}.primary{border:1px solid var(--primary);color:#fff;background:var(--primary)}.primary:hover{background:var(--primary-hover)}.secondary{border:1px solid #dce2e8;color:#505c69;background:#fff}.secondary:hover{background:#f3f5f8}.primary svg,.secondary svg{width:16px;height:16px}.full{width:100%;height:48px}.link-button{text-decoration:none}.icon-button{display:inline-grid;width:34px;height:34px;padding:0;place-items:center;border:0;border-radius:8px;color:#637181;background:transparent}.icon-button:hover{background:#edf1f5}.icon-button svg{width:17px}.danger-text{color:#b6464c!important}.badge{display:inline-flex;width:max-content;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;color:#647181;background:#edf1f5;font-size:11px;font-weight:600;white-space:nowrap}.badge.success{color:#496d66;background:#e8f2ef}.badge.warning{color:#8b683c;background:#faf1df}.badge.danger{color:#b54449;background:#fceced}.badge.info{color:#536b81;background:#e9f0f6}.badge svg{width:13px}.state-block{display:grid;min-height:130px;place-content:center;justify-items:center;gap:8px;padding:24px;color:#8490a0;text-align:center}.state-block svg{width:24px}.state-block strong{color:#596675}.state-block code{font:10px DM Mono,monospace}.state-block.error svg{color:var(--danger)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.upcoming-grid,.rights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.upcoming-grid>button{display:grid;min-height:116px;gap:9px;padding:20px 24px;border:0;border-right:1px solid #e8ecf0;color:inherit;background:#fff;text-align:left}.upcoming-grid>button:last-child{border-right:0}.upcoming-grid>button:hover{background:#f8fafc}.upcoming-grid>button>div{display:flex;align-items:center;justify-content:space-between;color:#788596;font-size:12px}.upcoming-grid small{color:#788596}.rights-grid article{display:grid;gap:9px;padding:22px 26px;border-right:1px solid var(--line)}.rights-grid article:last-child{border:0}.rights-grid small{color:var(--muted);font:12px DM Mono}.rights-grid strong{font-size:17px}.toolbar{display:flex;min-height:68px;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line)}.toolbar>span{margin-left:auto;color:var(--muted)}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #dce2e8;border-radius:10px;color:var(--ink);background:#fff;outline:0}input:focus,select:focus,textarea:focus{border-color:#718397;box-shadow:0 0 0 3px #71839721}textarea{min-height:95px;resize:vertical}.search{display:flex;min-width:280px;align-items:center;gap:8px;padding-left:11px;border:1px solid #dce2e8;border-radius:10px;background:#fff}.search:focus-within{border-color:#718397;box-shadow:0 0 0 3px #71839721}.search svg{width:17px;color:#8994a2}.search input{border:0;box-shadow:none}.toolbar select{width:auto}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:13px 18px;color:var(--muted);background:#f9fafb;font-size:12px;font-weight:600;white-space:nowrap}td{padding:15px 18px;border-top:1px solid #edf0f3;white-space:nowrap}td>strong,td>small{display:block}td>small{margin-top:3px;color:var(--muted)}tbody tr:hover{background:#fafbfc}.table-link{padding:0;border:0;color:#344f66;background:transparent;font-weight:600;text-align:left}.table-link:hover{text-decoration:underline}.detail-list{display:grid;margin:0}.detail-list div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;font-weight:600}.row-actions{display:flex;align-items:center;gap:4px}.segmented,.tabs{display:inline-flex;gap:3px;padding:4px;border-radius:11px;background:#edf1f5}.segmented button,.tabs button{padding:7px 11px;border:0;border-radius:8px;color:#687585;background:transparent;font-size:12px}.segmented button.active,.tabs button.active{color:#fff;background:var(--primary)}.tabs{margin-bottom:14px}.task-list{display:grid}.task-list article{display:grid;grid-template-columns:auto minmax(200px,1fr) auto auto auto;align-items:center;gap:14px;padding:15px 20px;border-top:1px solid #edf0f3}.task-list article:first-child{border:0}.task-list article>div>div{display:flex;align-items:center;gap:7px}.task-list p{margin:4px 0 0;color:var(--muted);font-size:12px}.task-check{display:grid;width:20px;height:20px;padding:0;place-items:center;border:1px solid #bdc7d1;border-radius:6px;color:#fff;background:#fff}.task-check:has(svg){border-color:var(--success);background:var(--success)}.task-check svg{width:14px}.calendar-toolbar{display:flex;height:64px;align-items:center;justify-content:center;gap:14px;border-bottom:1px solid var(--line)}.calendar-toolbar h2{min-width:130px;margin:0;text-align:center;font-size:17px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-week span{padding:11px;text-align:center;color:var(--muted);background:#fafbfc;font-size:11px}.calendar-grid>button{display:flex;min-height:112px;flex-direction:column;gap:5px;padding:9px;border:0;border-top:1px solid #e8ecf0;border-right:1px solid #e8ecf0;color:var(--ink);background:#fff;text-align:left}.calendar-grid>button:nth-child(7n){border-right:0}.calendar-grid>button:hover,.calendar-grid>button.selected{background:#f3f7fa}.calendar-grid>button.outside{color:#abb3bc;background:#fafbfc}.calendar-item{width:100%;overflow:hidden;padding:4px 5px;border-radius:5px;color:#526579;background:#e9eff5;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.calendar-item.event{color:#486b66;background:#e6f0ee}.agenda{display:grid;padding:8px 20px}.agenda .agenda-row{display:grid;width:100%;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 0;border:0;border-bottom:1px solid var(--line);color:inherit;background:#fff;text-align:left}.agenda .agenda-row:hover{background:#fafbfc}.agenda>p{padding:20px}.settings-layout{display:grid;grid-template-columns:215px minmax(0,1fr);align-items:start;gap:18px}.settings-nav{position:sticky;top:20px;display:grid;gap:6px;padding:8px;border:1px solid #dfe5eb;border-radius:16px;background:#fff}.settings-nav button{display:grid;gap:2px;padding:11px 12px;border:0;border-radius:11px;color:#687585;background:transparent;text-align:left;font-weight:600}.settings-nav button small{color:#929ca8;font-size:10px;font-weight:400}.settings-nav button.active{color:#34414e;background:#edf2f6}.member-rows{display:grid}.member-rows article{display:grid;grid-template-columns:auto minmax(180px,1fr) 130px 100px auto;align-items:center;gap:13px;padding:14px 20px;border-top:1px solid #edf0f3}.member-rows article>div{display:grid;gap:3px}.member-rows article>div strong{display:flex;align-items:center;gap:5px}.member-rows article small{color:var(--muted)}.permission-matrix>div{display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,100px);align-items:center;padding:13px 20px;border-top:1px solid var(--line);text-align:center}.permission-matrix .matrix-head{border:0;background:#fafbfc}.permission-matrix p{text-align:left}.permission-matrix p strong,.permission-matrix p small{display:block}.permission-matrix p small{margin-top:3px;color:var(--muted)}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid .card:last-child{grid-column:1/-1;margin-top:0}.profile-card{display:grid;gap:18px;padding:22px}.large-avatar{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;color:#2d333b;background:#e9edf1;font-size:21px;font-weight:700}.profile-card dl{display:grid;margin:0}.profile-card dl div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.profile-card dt{color:var(--muted)}.profile-card dd{margin:0;text-align:right;font-weight:600}.inline-field,.copy-field{display:flex;align-items:center;gap:8px}.inline-field .primary{flex:none}.security-actions{display:flex;gap:9px;padding:22px}.source-grid{display:grid;grid-template-columns:repeat(3,1fr)}.source-grid article{display:grid;gap:9px;padding:20px;border-right:1px solid var(--line)}.source-grid article:last-child{border:0}.source-grid small{color:var(--muted)}.notice-run{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:12px 15px;border:1px solid #dce5e2;border-radius:12px;background:#f1f7f5}.automation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.automation-grid .card+.card{margin-top:0}.automation-body{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:22px}.automation-body code{color:#687587;font:11px DM Mono,monospace}.automation-body span{grid-row:2;color:var(--muted);font-size:12px}.automation-body button{grid-row:1/3;grid-column:2}.ai-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.ai-layout .card+.card{margin-top:0}.ai-chat{display:flex;min-height:560px;flex-direction:column}.chat-log{display:flex;flex:1;flex-direction:column;gap:10px;padding:25px}.ai-greeting{margin:auto;text-align:center}.ai-greeting>svg{width:32px;color:#65778a}.ai-greeting h2{font-size:23px}.ai-greeting p{color:var(--muted)}.message{display:flex;align-items:flex-start;gap:9px}.message>span{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#e9eff5;font-weight:600}.message>span svg{width:16px}.message p{max-width:70%;margin:0;padding:10px 13px;border-radius:12px;background:#f0f3f7}.message.user{flex-direction:row-reverse}.message.user p{color:#fff;background:var(--primary)}.chat-compose{display:flex;gap:8px;padding:15px;border-top:1px solid var(--line)}.chat-compose .primary{width:44px;padding:0}.suggestions{display:grid;gap:8px;padding:14px}.suggestions button{padding:12px;border:1px solid var(--line);border-radius:10px;color:#596675;background:#fafbfc;text-align:left}.backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;background:#1f2935a8}.modal{width:min(580px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:16px;background:#fff;box-shadow:0 24px 70px #17202a40;outline:0}.modal.wide{width:min(760px,100%)}.modal>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line);background:#fff}.modal>header h2{margin:0;font-size:17px}.modal>header p{margin:5px 0 0;color:var(--muted);font-size:12px}.modal-body{display:grid;gap:17px;padding:22px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 22px 20px;border-top:1px solid var(--line)}.field{display:grid;gap:7px}.field>span{color:#53606e;font-size:12px;font-weight:700}.field>small{color:#8a95a2;font-size:10px}.field-error,.form-error{color:#c4494e!important}.form-error{margin:0;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.day-checks{display:flex;gap:6px}.day-checks label input{position:absolute;opacity:0}.day-checks label span{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:9px}.day-checks label input:checked+span{color:#fff;background:var(--primary)}.security-note{padding:11px 13px;border-radius:10px;color:#697786;background:#f4f6f8;font-size:11px}.unit-picker{position:relative}.unit-results{position:absolute;right:0;left:0;z-index:5;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 14px 30px #2938471c}.unit-results>button,.selected-unit{display:grid;width:100%;grid-template-columns:1fr auto;gap:3px;padding:12px 14px;border:0;border-bottom:1px solid var(--line);color:inherit;background:#fff;text-align:left}.unit-results>button span,.selected-unit span{color:var(--muted);font-size:11px}.unit-results>button small{grid-row:1/3;grid-column:2;align-self:center;color:var(--muted)}.unit-results>button:hover{background:#f6f8fa}.selected-unit{position:relative;margin-top:7px;border:1px solid #bfd3cd;border-radius:11px;background:#f4f9f7}.selected-unit .badge{grid-row:1/3;grid-column:2;align-self:center}.dropzone{position:relative;display:grid;min-height:160px;place-content:center;justify-items:center;gap:7px;border:1px dashed #b8c4ce;border-radius:14px;color:var(--muted);background:#fafbfc}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.import-result{display:grid;gap:12px}.import-result>div{display:flex;gap:8px}.manage-actions{align-items:stretch}.simple-login{display:grid;min-height:100vh;place-items:center;padding:24px;background:#f7f9fb}.simple-login-box{width:min(100%,380px)}.login-wordmark{display:block;margin-bottom:38px;color:var(--ink);font-size:31px;font-weight:700;letter-spacing:-2px;text-align:center;text-decoration:none}.simple-login form{display:grid;gap:18px}.simple-login .field>span{font-size:11px}.simple-login input{height:48px}.simple-login .full{height:48px;margin-top:2px}.login-error{min-height:18px;text-align:center}.auth-page{display:grid;min-height:100vh;grid-template-columns:minmax(420px,46%) 1fr;background:#f7f9fb}.auth-brand{display:flex;flex-direction:column;justify-content:space-between;padding:42px 52px;color:#f5f7f9;background:#3e4c5a}.auth-brand .wordmark{color:#fff}.auth-brand h1{margin:18px 0;font-size:clamp(38px,4vw,59px);line-height:1.25;letter-spacing:-3.5px}.auth-brand div>p:last-child{max-width:360px;color:#cbd3da;line-height:1.8}.auth-brand small{color:#aeb9c3}.eyebrow{margin:0 0 9px;color:#7b8796;font:500 10px DM Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.auth-brand .eyebrow{color:#b9cad8}.auth-form{display:grid;place-items:center;padding:40px}.login-box{width:min(100%,414px)}.login-box h2{margin:0;font-size:28px}.muted{color:var(--muted)}.login-box form{display:grid;gap:18px;margin-top:34px}.checkbox{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.checkbox input{width:16px;min-height:16px;accent-color:var(--primary)}.support{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.public-page{min-height:100vh;padding:24px;background:var(--page)}.public-page>header{position:relative;display:flex;height:72px;align-items:center;justify-content:center;border-bottom:1px solid var(--line);background:#fff}.secure-badge{position:absolute;right:30px;padding:8px 11px;border:1px solid #dce2e8;border-radius:11px;color:#647181;font-size:11px}.public-content{width:min(100%,650px);margin:auto;padding:50px 0}.public-content>h1{margin:0;font-size:28px}.public-card{display:grid;gap:18px;margin-top:24px;padding:24px;border:1px solid #dfe5eb;border-radius:16px;background:#fff;box-shadow:0 2px 6px #202d3a09}.public-card footer{display:flex;justify-content:flex-end;margin:5px -24px -24px;padding:17px 24px;border-top:1px solid var(--line)}.result{padding:32px}.result-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;color:#fff;background:var(--success);font-size:18px;font-weight:700}.result.error .result-mark{background:var(--danger)}.result code{font:10px DM Mono,monospace}.result .link-button{margin-top:10px;justify-self:start}@media(max-width:1000px){.app-frame{grid-template-columns:230px minmax(0,1fr)}.upcoming-grid,.rights-grid,.source-grid{grid-template-columns:1fr}.upcoming-grid>button,.rights-grid article,.source-grid article{border-right:0;border-bottom:1px solid var(--line)}.settings-layout,.ai-layout,.automation-grid{grid-template-columns:1fr}.settings-nav{position:static;grid-template-columns:repeat(3,1fr)}.profile-grid{grid-template-columns:1fr}.profile-grid .card:last-child{grid-column:auto}.calendar-grid>button{min-height:90px}.auth-page{grid-template-columns:1fr}.auth-brand{min-height:320px}.auth-brand small{display:none}}@media(max-width:720px){.app-frame{display:block;width:100%;min-height:100vh;margin:0}.sidebar{position:relative;top:0;width:100%;height:auto;padding:16px}.workspace-summary,.account-panel{display:none}.sidebar nav{margin-top:14px;overflow:auto}.sidebar nav>p{display:none}.nav-links{display:flex;width:max-content}.nav-links a{padding:0 11px}.topbar{height:58px;padding:0 18px}.content{padding:24px 18px 40px}.page-header,.home-heading{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.page-actions>button{flex:1}.toolbar{align-items:stretch;flex-direction:column}.toolbar .search{min-width:0}.toolbar select{width:100%}.toolbar>span{margin-left:0}.task-list article{grid-template-columns:auto 1fr auto}.task-list article>time,.task-list article>.badge{display:none}.calendar-grid>button{min-height:62px;padding:5px}.calendar-item{display:none}.calendar-week span{padding:8px}.form-grid{grid-template-columns:1fr}.member-rows article{grid-template-columns:auto 1fr auto}.member-rows article>span:not(.avatar),.member-rows article>.badge{display:none}.permission-matrix>div{grid-template-columns:minmax(150px,1fr) repeat(3,55px);padding:10px}.auth-brand{min-height:260px;padding:28px 24px}.auth-brand h1{font-size:35px}.auth-form{padding:38px 24px}.public-page{padding:0}.public-page>header{height:58px}.public-content{padding:32px 18px}.secure-badge{right:18px;font-size:0}.secure-badge:before{content:"●";font-size:10px}.source-grid{grid-template-columns:1fr}.search{min-width:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
