:root{--color-canvas:#fff;--color-surface:#fff;--color-surface-muted:#f5f5f6;--color-text:#171717;--color-text-muted:#666;--color-border:#e2e2e5;--color-input-border:#949494;--color-primary:#2563eb;--color-primary-strong:#1d4ed8;--color-danger:#dc2626;--color-danger-surface:#fff;--color-focus:#2563eb;--radius-control:6px;--radius-panel:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;color:var(--color-text);background:var(--color-canvas);font-synthesis:none;font-family:Pretendard,Malgun Gothic,맑은 고딕,system-ui,sans-serif;font-size:16px;line-height:1.5}.auth-layout{place-items:center;min-height:100vh;padding:48px 24px;display:grid}.auth-panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);overflow-wrap:anywhere;width:100%;max-width:400px;padding:32px}.auth-header{margin-bottom:var(--space-5)}.auth-header h1{margin:0 0 var(--space-2);font-size:24px;font-weight:650;line-height:1.3}.auth-header p:last-child,.admin-login p,.status-panel p{color:var(--color-text-muted);font-size:14px;line-height:1.55}.product-name{margin:0 0 var(--space-2);color:var(--color-primary);letter-spacing:.08em;font-size:12px;font-weight:750}.auth-form,.field,.admin-login{gap:var(--space-3);display:grid}.field label{font-size:14px;font-weight:650}.field input{border:1px solid var(--color-input-border);border-radius:var(--radius-control);width:100%;min-height:40px;color:var(--color-text);background:var(--color-surface);font:inherit;padding:8px 10px}.button{border-radius:var(--radius-control);min-height:44px;font:inherit;text-align:center;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.button--primary{color:#fff;background:var(--color-primary)}.button--primary:hover{background:var(--color-primary-strong)}.button--secondary{color:var(--color-text);border-color:var(--color-border);background:var(--color-surface)}.button:disabled,input:disabled{cursor:not-allowed;opacity:.65}:where(a,button,input):focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.error-summary{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius-control);color:var(--color-danger);background:var(--color-danger-surface);font-size:14px;line-height:1.5}.auth-separator{gap:var(--space-3);margin:var(--space-5) 0;color:var(--color-text-muted);grid-template-columns:1fr auto 1fr;align-items:center;font-size:12px;display:grid}.auth-separator:before,.auth-separator:after{background:var(--color-border);content:"";height:1px}.callback-panel .button{width:100%}.callback-status{color:var(--color-text-muted);line-height:1.55}@media (width<=960px){.auth-layout{padding:24px 16px}.auth-panel{padding:24px 20px}}.onboarding-panel{max-width:520px}.password-policy{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.5}.recovery-boundary{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.recovery-boundary h2{margin:0 0 var(--space-2);font-size:15px}.recovery-boundary p{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.55}.login-recovery{margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:13px;line-height:1.5}.google-recovery-link{min-height:44px;color:var(--color-primary);justify-self:start;align-items:center;font-size:14px;font-weight:650;display:inline-flex}.app-session-summary{gap:var(--space-1);display:grid}.app-logout{border:1px solid var(--color-input-border);border-radius:var(--radius-control);min-height:44px;color:var(--color-text);background:var(--color-surface);cursor:pointer;padding:8px 12px;font-weight:650}.app-logout:disabled{cursor:not-allowed;opacity:.65}.login-page{background:var(--color-surface);min-height:100svh}.login-brand{border-bottom:1px solid var(--color-border);letter-spacing:-.02em;align-items:center;min-height:70px;padding:12px 42px;font-size:28px;font-weight:750;display:flex}.login-layout{align-items:start;min-height:calc(100svh - 70px);padding:16px 24px}.login-panel{zoom:.9;max-width:608px;padding:44px 40px}.login-panel .auth-header{margin-bottom:48px}.login-panel h1{letter-spacing:-.03em;margin:0;font-size:40px;font-weight:750}.login-panel .auth-form{gap:26px}.login-panel .field{gap:var(--space-2)}.login-panel .field label,.login-panel .field input,.login-panel .button{font-size:20px}.login-panel .field input,.login-panel .button{min-height:60px;padding:12px 18px}.login-panel .field input::placeholder{color:var(--color-text-muted);opacity:1}.login-panel .login-recovery,.login-panel .auth-separator,.login-panel .admin-login p,.login-panel .google-recovery-link{min-height:50px;font-size:18px;font-weight:400;line-height:1.55}.login-panel .login-recovery{text-align:center}.login-panel .auth-separator{margin:40px 0 var(--space-5)}.login-panel .admin-login p{margin:0}.login-panel .button--secondary{gap:var(--space-3);border-color:var(--color-input-border)}.login-google-logo{flex-shrink:0;width:24px;height:24px}.login-panel .button--secondary:hover{background:var(--color-surface-muted)}.login-panel .google-recovery-link{color:var(--color-text-muted);text-underline-offset:3px;justify-self:center}.login-panel .google-recovery-link:hover{color:var(--color-text)}@media (width<=640px){.login-brand{min-height:64px;padding:12px 24px;font-size:22px}.login-layout{min-height:calc(100svh - 64px);padding:16px}.login-panel{padding:28px 24px}.login-panel .auth-header{margin-bottom:var(--space-6)}.login-panel h1{font-size:32px}.login-panel .auth-form{gap:var(--space-5)}.login-panel .field label,.login-panel .field input,.login-panel .button{font-size:16px}.login-panel .field input,.login-panel .button{min-height:52px;padding:12px}.login-panel .login-recovery,.login-panel .auth-separator,.login-panel .admin-login p,.login-panel .google-recovery-link{font-size:14px}.login-panel .auth-separator{margin-top:var(--space-6)}}.login-remember{cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.login-remember input{width:18px;height:18px;min-height:0;accent-color:var(--color-primary)}.login-remember-note{color:var(--color-text-muted);margin:-12px 0 0;font-size:13px}*{box-sizing:border-box}html{background:var(--color-canvas);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}::selection{color:var(--color-text);background:#dedee2}:where(input,textarea){caret-color:var(--color-text)}:where(input[type=checkbox],input[type=radio]){accent-color:var(--color-primary)}:where(button){border:1px solid var(--color-input-border);border-radius:var(--radius-control);min-height:42px;color:var(--color-text);background:var(--color-surface);cursor:pointer;padding:8px 14px}:where(button:hover:not(:disabled)){background:var(--color-surface-muted)}:where(button:disabled){cursor:not-allowed;color:var(--color-text-muted);background:var(--color-surface-muted)}:where(input:not([type=checkbox]):not([type=radio]),select,textarea){border:1px solid var(--color-input-border);border-radius:var(--radius-control);min-width:0;min-height:42px;color:var(--color-text);background:var(--color-surface);padding:8px 12px}:where(input,textarea)::placeholder{color:var(--color-text-muted);opacity:1}:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}:where(table,time,dd){font-variant-numeric:tabular-nums}.app-topbar .app-notification-bell,.app-topbar .app-logout{background:0 0;border-color:#0000;font-weight:500}.app-topbar .app-notification-bell:hover,.app-topbar .app-logout:hover{background:var(--color-surface-muted);color:var(--color-text)}.app-main>section>header h1,.app-main .accounts-heading h1,.app-main .material-order-heading h1,.app-main .material-confirmation-heading h1,.app-main .material-masters-heading h1,.app-main .process-board__header h1,.app-main .process-management__header h1{letter-spacing:-.03em;font-size:40px;font-weight:750;line-height:1.25}@media (width<=800px){.app-main>section>header h1,.app-main .accounts-heading h1,.app-main .material-order-heading h1,.app-main .material-confirmation-heading h1,.app-main .material-masters-heading h1,.app-main .process-board__header h1,.app-main .process-management__header h1{font-size:28px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading-fields{display:contents}.loading-rows{gap:12px;min-width:0;padding:20px 0;display:grid}.loading-rows>span[aria-hidden]{border-radius:var(--radius-control);background:var(--color-surface-muted);height:44px;display:block}.loading-rows>span[aria-hidden]:last-child{width:72%}.page-loading{min-height:360px;padding-top:28px}.page-loading .loading-rows>span[aria-hidden]{height:64px}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.skip-link{top:var(--space-2);left:var(--space-2);z-index:1000;border-radius:var(--radius-control);color:#fff;background:var(--color-primary-strong);transform:translateY(calc(-100% - var(--space-4)));padding:10px 14px;position:fixed}.skip-link:focus{transform:translateY(0)}.app-sidebar{border-right:1px solid var(--color-border);background:var(--color-surface);min-width:0;height:100dvh;padding:6px 20px 20px;position:sticky;top:0;overflow-y:auto}.app-brand{min-height:44px;color:var(--color-text);letter-spacing:-.04em;padding:10px 8px;font-size:26px;font-weight:800;text-decoration:none;display:block}.app-sidebar nav{gap:30px;min-width:0;max-width:100%;margin-top:32px;display:grid}.app-nav__section,.app-nav__links{min-width:0;display:grid}.app-nav__section{gap:4px}.app-nav__section h2{color:var(--color-text);letter-spacing:-.01em;align-items:center;gap:14px;margin:0;padding:0 8px 6px;font-size:17px;font-weight:700;display:flex}.app-nav__links{gap:2px}.app-sidebar nav a{border-radius:var(--radius-control);min-height:42px;color:var(--color-text);padding:9px 12px 9px 46px;font-size:15px;text-decoration:none;transition:color .14s ease-out,background-color .14s ease-out;position:relative}.app-sidebar nav a:hover{color:var(--color-text);background:var(--color-surface-muted)}.app-sidebar nav a[aria-current=page]{color:var(--color-text);background:var(--color-surface-muted);font-weight:700}.app-sidebar nav a[aria-current=page]:before{background:var(--color-text);content:"";border-radius:3px;width:3px;position:absolute;inset:0 auto 0 0}.app-icon{flex:none;width:20px;height:20px}.app-mobile-toggle{display:none}.app-breadcrumb{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.app-breadcrumb strong{font-weight:500}.app-account{border-inline:1px solid var(--color-border);align-items:center;gap:8px;min-width:0;padding:0 16px;display:inline-flex}.app-account-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(16ch,35vw);font-weight:500;overflow:hidden}.app-workspace{min-width:0}.app-topbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:10px 32px;font-size:14px;display:flex}.app-topbar-actions{align-items:center;gap:var(--space-2);max-width:100%;display:flex}.app-topbar-actions>button{flex-shrink:0}.app-notification-bell,.app-logout,.drawing-notification-drawer button{border:1px solid var(--color-input-border);border-radius:var(--radius-control);min-height:44px;color:var(--color-text);background:var(--color-surface);cursor:pointer}.app-notification-bell{align-items:center;gap:var(--space-1);padding:8px 12px;display:inline-flex}.app-notification-count{min-width:12px;color:var(--color-text);text-align:center;background:0 0;font-weight:700}.app-notification-bell:hover,.app-notification-bell[aria-expanded=true]{border-color:var(--color-primary);color:var(--color-primary-strong);background:var(--color-surface-muted)}.drawing-notification-backdrop{z-index:40;cursor:default;transition:opacity .18s ease, display .18s allow-discrete;background:#0000003d;border:0;position:fixed;inset:0}.drawing-notification-drawer{z-index:50;border-left:1px solid var(--color-border);background:var(--color-surface);width:min(100%,400px);height:100dvh;transition:transform .18s ease-out, opacity .18s ease-out, display .18s allow-discrete;flex-direction:column;display:flex;position:fixed;top:0;right:0;box-shadow:-4px 0 16px #00000014}.drawing-notification-backdrop[hidden],.drawing-notification-drawer[hidden]{opacity:0;pointer-events:none;display:none}.drawing-notification-drawer[hidden]{transform:translate(100%)}@starting-style{.drawing-notification-backdrop,.drawing-notification-drawer{opacity:0}.drawing-notification-drawer{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.drawing-notification-backdrop,.drawing-notification-drawer{transition:none}}.drawing-notification-drawer__header{min-height:72px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.drawing-notification-drawer__actions{align-items:center;gap:var(--space-2);display:flex}.drawing-notification-drawer__actions button,.drawing-notification-delete{padding:8px 12px}.drawing-notification-drawer button:disabled{cursor:wait;opacity:.65}.drawing-notification-drawer__header p,.drawing-notification-drawer__header h2,.drawing-notification-state h3,.drawing-notification-state p,.drawing-notification-loading p,.drawing-notification-status,.drawing-notification-name,.drawing-notification-detail,.drawing-notification-action-error{margin:0}.drawing-notification-drawer__header p,.drawing-notification-item time{color:var(--color-text-muted);font-size:13px}.drawing-notification-drawer__header h2{font-size:16px}.drawing-notification-list{min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.drawing-notification-item,.drawing-notification-state,.drawing-notification-loading{padding:var(--space-4);border-bottom:1px solid var(--color-border);overflow-wrap:anywhere}.drawing-notification-item{align-items:start;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.drawing-notification-item__content{gap:var(--space-1);min-width:0;display:grid}.drawing-notification-status{color:var(--color-text-muted);font-size:13px;font-weight:600}.drawing-notification-item--process_completed .drawing-notification-status{color:var(--color-primary-strong)}.drawing-notification-item--process_started .drawing-notification-status{color:var(--color-text)}.drawing-notification-item--failed .drawing-notification-status{color:var(--color-danger)}.drawing-notification-item a{width:fit-content;max-width:100%;color:var(--color-primary-strong);overflow-wrap:anywhere;font-weight:600}.drawing-notification-name{color:var(--color-text)}.drawing-notification-detail{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:13px}.drawing-notification-delete{color:var(--color-danger)}.drawing-notification-action-error{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-danger);font-size:13px}.drawing-notification-state,.drawing-notification-loading{gap:var(--space-2);display:grid}.drawing-notification-state button{width:fit-content;padding:8px 12px}.drawing-notification-skeleton{border-radius:var(--radius-control);background:var(--color-surface-muted);height:56px;display:block}.app-main{width:100%;min-width:0;margin:0;padding:32px}.app-main--wide{width:100%}.drawings-viewer{width:100%;min-height:calc(100dvh - 130px)}.drawings-viewer iframe{border:0;width:100%;min-height:calc(100dvh - 130px);display:block}.page-heading p{color:var(--color-text-muted);margin:0 0 8px;font-size:13px}.page-heading h1{margin:0;font-size:28px}.status-panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);overflow-wrap:anywhere;margin-top:32px;padding:24px}.status-panel h2{margin:0 0 8px;font-size:18px}.status-panel p{margin:0}.dashboard-overview{gap:36px;display:grid}.dashboard-overview__heading{gap:8px;display:grid}.dashboard-overview__heading h1,.dashboard-overview__heading p,.dashboard-card h2,.dashboard-card p,.dashboard-metrics,.dashboard-metric dt,.dashboard-metric dd{margin:0}.dashboard-overview__heading h1{letter-spacing:-.03em;font-size:40px;line-height:1.2}.dashboard-overview__heading p,.dashboard-card__header p,.dashboard-card__state{color:var(--color-text-muted)}.dashboard-overview__grid{grid-template-columns:1fr;gap:28px;display:grid}.dashboard-card{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);min-width:0;overflow:hidden}.dashboard-card__header{background:var(--color-surface-muted);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.dashboard-card__header>div{gap:6px;min-width:0;display:grid}.dashboard-card__header h2{letter-spacing:-.02em;font-size:24px}.dashboard-card__header p{max-width:34ch;font-size:13px}.dashboard-card__header a{color:var(--color-primary-strong);text-underline-offset:3px;flex:none;font-size:13px;font-weight:700}.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr));min-height:130px;margin:28px 0;display:grid}.dashboard-metric{text-align:center;border-left:1px solid var(--color-border);font-variant-numeric:tabular-nums;align-content:center;gap:14px;min-width:0;padding-inline:16px;display:grid}.dashboard-metric:first-child{border-left:0;padding-left:0}.dashboard-metric:last-child{padding-right:0}.dashboard-metric dt{color:var(--color-text-muted);font-size:19px}.dashboard-metric dd{color:var(--color-text);font-size:54px;font-weight:750;line-height:1}.dashboard-metric dd span{color:var(--color-text);margin-left:3px;font-size:30px;font-weight:650}.dashboard-metric[data-tone=quote] dd,.dashboard-metric[data-tone=progress] dd{color:var(--color-text)}.dashboard-card__state{border-top:1px solid var(--color-border);min-height:70px;margin-top:24px;padding-block:18px;font-size:13px}@media (width<=1439px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.app-sidebar{padding-inline:12px}.app-brand{font-size:22px}}@media (width<=800px){.app-shell{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.app-sidebar{border-right:0;border-bottom:1px solid var(--color-border);height:auto;padding:12px 16px;position:static}.app-brand{align-items:center;font-size:22px;display:inline-flex}.app-mobile-toggle{float:right;align-items:center;gap:8px;display:inline-flex}.app-sidebar nav{gap:20px;margin-top:16px;display:none}.app-sidebar[data-menu-open=true] nav{display:grid}.app-topbar{gap:8px;padding:8px 16px}.app-breadcrumb{font-size:13px}.app-topbar-actions{gap:0}.app-account{padding-inline:8px}.app-main{padding:24px 16px}.drawings-viewer iframe{min-height:1100px}.dashboard-overview__heading h1{font-size:30px}.dashboard-card__header{gap:12px;padding:16px}.dashboard-card__header h2{font-size:20px}.dashboard-metric dd{font-size:36px}.dashboard-metric dd span{font-size:20px}.dashboard-metric dt{font-size:15px}.dashboard-metrics{min-height:100px;margin-block:20px}.dashboard-metric{padding-inline:8px}.drawing-notification-drawer{width:min(100%,360px)}.drawing-notification-drawer__header{flex-direction:column;align-items:stretch}.drawing-notification-drawer__actions{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.drawing-notification-backdrop{opacity:.2;background:canvas}.drawing-notification-drawer,.drawing-notification-item,.drawing-notification-state,.drawing-notification-loading{border-color:canvastext}.drawing-notification-drawer :focus-visible{outline-color:highlight}}
