:root{--bg:#fbfbfd;--card:#fff;--text:#1c1f24;--muted:#6b7280;--line:#e5e7eb;--accent:#03c75a;--danger:#d93025;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif}body{margin:0}.page{max-width:960px;margin:0 auto;padding:24px 16px 64px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px}.center{max-width:400px;margin:12vh auto 0}.loading{min-height:100vh;color:var(--muted);letter-spacing:-.01em;place-items:center;font-size:14px;display:grid}h1{margin:0 0 8px;font-size:20px}p.muted,.muted{color:var(--muted);font-size:14px}label{margin:16px 0 6px;font-size:14px;display:block}.req{color:#ff3b30;margin-left:2px;font-size:12px;font-weight:600;position:relative;top:-4px}input,select{box-sizing:border-box;border:1px solid var(--line);border-radius:8px;width:100%;padding:10px 12px;font-size:15px}input::placeholder{color:#b8bcc3;font-size:14px}.selectbox{position:relative}button.selectbox-trigger{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--text);text-align:left;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center no-repeat;border-radius:8px;align-items:center;gap:8px;padding:10px 40px 10px 12px;font-size:15px;display:flex}button.selectbox-trigger.open{border-color:#b8bcc3}.selectbox-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.selectbox-hint{color:#8e8e93;white-space:nowrap;font-size:12px}.selectbox-list{z-index:30;border:1px solid var(--line);background:#fff;border-radius:12px;max-height:360px;margin:0;padding:6px;list-style:none;animation:.14s ease-out selectbox-in;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 30px #00000014,0 2px 6px #0000000d}@keyframes selectbox-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.selectbox-list button{width:100%;color:var(--text);text-align:left;background:0 0;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-size:14px;display:flex}.selectbox-list button:hover{background:#f4f5f7}.selectbox-list button.selected{font-weight:600}.selectbox-list button svg{color:#1d1d1f;flex-shrink:0;margin-left:auto}select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center no-repeat;padding-right:40px}button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:10px 16px;font-size:15px}button.secondary{color:var(--text);background:#eef0f3}button.btn-dark{color:#fff;background:#1d1d1f;font-size:14px;font-weight:500}button.btn-dark:hover:not(:disabled){background:#000}button.compact{padding:8px 16px;font-size:13px}.form-actions{justify-content:flex-end;margin-top:16px;display:flex}.form-actions button{min-width:150px;padding:10px 26px}button:disabled{opacity:.5;cursor:default}.full{width:100%;margin-top:16px}.error{color:var(--danger);margin-top:12px;font-size:14px}.topbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}h2{margin:0 0 4px;font-size:17px}.success{color:#0a7c3e;margin-top:12px;font-size:14px}.link-item{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:12px;padding:16px 18px;box-shadow:0 1px 2px #00000008}.link-item:first-of-type{margin-top:16px}.link-item.inactive{opacity:.55}.link-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.slug{background:#eef0f3;border-radius:6px;padding:2px 8px;font-family:ui-monospace,Menlo,monospace;font-size:13px}.badge{color:var(--muted);background:#eef0f3;border-radius:999px;padding:2px 8px;font-size:12px}.badge.on{color:#0a7c3e;background:#e6f7ee}.link-url{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.link-url code{word-break:break-all;font-size:12px}.field-label{color:var(--muted);margin:12px 0 0;font-size:12px}.field-label+.link-url{margin-top:4px}.link-item.framed{background:#f2f3f5;border:1px solid #e7e8eb;border-radius:16px;padding:5px;box-shadow:0 1px 2px #0000000a}.frame-inner{background:#fff;border-radius:12px;padding:16px 18px;box-shadow:0 0 0 1px #0000000a,0 1px 3px #0000000d}.frame-foot{padding:10px 14px 8px}.frame-foot .clicks{margin-top:0}.link-list{margin-top:16px}.list-loading{text-align:center;padding:48px 0}.link-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;display:grid}.link-grid .link-item{margin-top:0}@media (width<=1280px){.link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.link-grid{grid-template-columns:minmax(0,1fr)}}.url-row{margin-top:4px;padding-right:42px;position:relative}.url-row code{word-break:break-all;font-size:12px;line-height:1.5;display:block}.url-row button.icon-btn{position:absolute;bottom:3px;right:0}.share-card .url-row button.icon-btn{bottom:1px}button.icon-btn{color:#3a3a3c;background:#f4f5f7;border-radius:7px;place-items:center;width:30px;height:30px;margin-bottom:3px;padding:0;display:grid}button.icon-btn:hover{background:#e9eaee}.link-item button.secondary{background:#f4f5f7}.link-item button.secondary:hover:not(:disabled){background:#e9eaee}.url-divider{border:0;border-top:1px solid var(--line);margin:12px 0 0}.small-text{word-break:break-all;margin:6px 0 0;font-size:13px}.hint-text{color:#a1a4aa;word-break:break-all;margin:6px 0 0;font-size:12px}.actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.edit{margin-top:8px}.collapse{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .28s,opacity .2s;display:grid}.collapse.open{opacity:1;grid-template-rows:1fr}.collapse-body{min-height:0;overflow:hidden}.collapse.open>.collapse-body{animation:0s .3s forwards collapse-unclip}@keyframes collapse-unclip{to{overflow:visible}}.link-item .edit label{color:#3a3a3c;margin:12px 0 5px;font-size:12px}.link-item .edit input{padding:9px 11px;font-size:14px}button.small{padding:6px 10px;font-size:13px}button.danger{color:var(--danger);background:#fdecea}.clicks{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:8px;font-size:13px;display:flex}.clicks b{color:var(--text)}button.link-button{color:#1a73e8;background:0 0;padding:0;font-size:13px}button.chev-btn{color:#8e8e93;background:0 0;border-radius:7px;place-items:center;width:26px;height:26px;margin-left:auto;padding:0;display:grid}button.chev-btn:hover{color:#1d1d1f;background:#0000000d}button.chev-btn svg{transition:transform .2s}button.chev-btn.open svg{transform:rotate(180deg)}.daily-wrap{flex-basis:100%}.daily{margin-top:6px}.chart{margin-top:4px;position:relative}.chart svg{width:100%;height:auto;display:block}.chart svg.plot{animation:.9s cubic-bezier(.25,.8,.25,1) both chart-draw;position:absolute;inset:0}@keyframes chart-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.chart .grid{stroke:#e9eaee;stroke-width:1px}.chart .tick{fill:#8e8e93;font-size:9px}.chart .line{fill:none;stroke:#0a84ff;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round}.chart .dot{fill:#fff;stroke:#0a84ff;stroke-width:1.4px}.chart svg.hover-layer{position:absolute;inset:0}.chart .hit{fill:#0000;cursor:pointer}.chart .guide{stroke:#c7c7cc;stroke-width:1px;stroke-dasharray:3 3}.chart .dot-active{fill:#0a84ff;stroke:#fff;stroke-width:1.6px;pointer-events:none}.chart-tip{color:#fff;white-space:nowrap;pointer-events:none;background:#1d1d1f;border-radius:6px;padding:4px 8px;font-size:11px;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 2px 8px #00000026}.chart-tip.start{transform:translate(-6px,calc(-100% - 10px))}.chart-tip.end{transform:translate(calc(6px - 100%),calc(-100% - 10px))}.chart-tip b{color:#fff;font-weight:600}.chart-tip.below{transform:translate(-50%,10px)}.chart-tip.below.start{transform:translate(-6px,10px)}.chart-tip.below.end{transform:translate(calc(6px - 100%),10px)}.tabs{gap:6px;margin-bottom:16px;display:flex}button.tab{color:var(--text);background:#eef0f3}button.tab.active{background:var(--text);color:#fff}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:12px;display:grid}.stat{background:var(--bg);border-radius:8px;flex-direction:column;gap:4px;padding:12px;display:flex}.stat b{font-size:18px}.bad{color:var(--danger)}.ok{color:#0a7c3e}.run-row{grid-template-columns:110px 40px 50px 1fr;gap:8px;padding:3px 0;display:grid}.deadline{border-top:1px solid var(--line);padding:12px 0}.deadline:first-of-type{border-top:0}.dday{color:#0a7c3e;margin-left:10px;font-size:13px;font-weight:600}.dday.bad{color:var(--danger)}.table-wrap{margin-top:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap;padding:8px 6px}td:last-child{white-space:normal;min-width:140px}.capi-sent{color:#0a7c3e;background:#e6f7ee}.capi-failed{color:var(--danger);background:#fdecea}.capi-pending{color:#9a5b00;background:#fff4e0}.field-row{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.field-row>div{min-width:0}@media (width<=560px){.field-row{grid-template-columns:1fr}}.switch-row{border:1px solid var(--line);background:#fafafa;border-radius:10px;align-items:center;gap:16px;margin-top:16px;padding:12px 14px;display:flex}.switch-text{flex:1;min-width:0}.switch-title{font-size:14px;font-weight:600}.switch-text .small-text{margin-top:4px;line-height:1.45}button.switch{background:#d1d1d6;border-radius:999px;flex-shrink:0;width:44px;height:26px;padding:0;transition:background .2s;position:relative}button.switch.on{background:#34c759}.switch-knob{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}button.switch.on .switch-knob{transform:translate(18px)}button.switch.small{width:36px;height:22px}button.switch.small .switch-knob{width:18px;height:18px}button.switch.small.on .switch-knob{transform:translate(14px)}.head-toggle{color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:12px;display:flex}.actions.right{flex-wrap:nowrap;justify-content:flex-end;margin-top:12px}.actions.right button{flex-shrink:0;width:76px;padding-left:0;padding-right:0}.actions.right.with-note{gap:6px}.actions.right.with-note button{width:66px}.actions-note{color:#8e8e93;white-space:nowrap;text-overflow:ellipsis;flex:auto;align-self:center;min-width:0;font-size:12px;overflow:hidden}.shell{--bar-h:64px;--bar-line:#00000014;min-height:100vh;display:flex}.sidebar{box-sizing:border-box;-webkit-backdrop-filter:saturate(180%)blur(20px);background:#f6f6f8db;border-right:1px solid #0000000f;flex-direction:column;flex-shrink:0;width:248px;height:100vh;padding:0 0 16px;transition:width .2s,padding .2s;display:flex;position:sticky;top:0}.brand{height:var(--bar-h);box-sizing:border-box;border-bottom:1px solid var(--bar-line);align-items:center;gap:10px;margin-bottom:12px;padding:0 14px 0 22px;display:flex}.brand img{border-radius:50%;width:32px;height:32px;box-shadow:0 0 0 .5px #0000001f}.brand-text{white-space:nowrap;flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.brand strong{letter-spacing:-.01em;font-size:15px;font-weight:600}.brand span{color:var(--muted);font-size:12px}.side-nav{flex-direction:column;gap:2px;padding:0 14px;display:flex}button.nav-item{color:#3a3a3c;letter-spacing:-.01em;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}button.nav-item svg{color:#8e8e93;flex-shrink:0;transition:color .15s}button.nav-item:hover{background:#0000000a}button.nav-item.active{color:#1d1d1f;background:#00000012;font-weight:600}button.nav-item.active svg{color:#1d1d1f}.account{border-top:1px solid #0000000f;align-items:center;gap:10px;margin:auto 14px 0;padding:12px 10px 4px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg,#3a3a3c,#1d1d1f);border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:13px;font-weight:600;display:grid}.account-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.account-label{color:var(--muted);font-size:11px}.account-email{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}button.logout{color:#8e8e93;background:0 0;border-radius:7px;flex-shrink:0;place-items:center;width:30px;height:30px;padding:0;display:grid}button.logout:hover{color:#1d1d1f;background:#0000000f}.content{flex:1;min-width:0}.content-head{height:var(--bar-h);box-sizing:border-box;border-bottom:1px solid var(--bar-line);align-items:center;padding:0 24px;display:flex}.content-body{box-sizing:border-box;max-width:1680px;padding:12px 24px 72px}.content-head h1{letter-spacing:-.02em;margin:0;font-size:19px;font-weight:700}button.sidebar-toggle{color:#8e8e93;background:0 0;border-radius:7px;flex-shrink:0;place-items:center;width:30px;height:30px;padding:0;transition:background .15s,color .15s;display:grid}button.sidebar-toggle:hover{color:#1d1d1f;background:#0000000f}@media (width>=761px){.shell.collapsed .sidebar{width:64px}.shell.collapsed .brand{justify-content:center;padding:0}.shell.collapsed .side-nav{padding:0 10px}.shell.collapsed .account{margin:auto 10px 0}.shell.collapsed .brand img,.shell.collapsed .brand-text,.shell.collapsed button.nav-item span,.shell.collapsed .account-text,.shell.collapsed button.logout{display:none}.shell.collapsed button.nav-item{justify-content:center;padding:9px 0}.shell.collapsed .account{justify-content:center;padding:12px 0 4px}}@media (width<=760px){.shell{flex-direction:column}.sidebar{z-index:10;border-bottom:1px solid #0000000f;border-right:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;row-gap:8px;width:auto;height:auto;padding:12px 12px 8px;display:grid;position:sticky}.brand{border:0;height:auto;margin:0;padding:0}button.sidebar-toggle{display:none}.account{border:0;grid-area:1/2;margin:0;padding:0}.account-text,.avatar{display:none}.side-nav{scrollbar-width:none;flex-direction:row;grid-column:1/-1;gap:4px;min-width:0;padding:0;overflow-x:auto}.side-nav::-webkit-scrollbar{display:none}button.nav-item{white-space:nowrap;width:auto;padding:7px 10px;font-size:13px}.content-head{height:auto;padding:16px 14px 12px}.content-body{padding:16px 14px 56px}.content-head h1{font-size:17px}}
