﻿@font-face{font-family:'Pretendard';font-weight:45 920;font-style:normal;font-display:swap;src:url("/static/fonts/PretendardVariable.woff2?1bf80c77af43") format("woff2-variations")}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Apple SD Gothic Neo","Malgun Gothic","맑은 고딕","Noto Sans KR","Segoe UI",sans-serif;font-size:13px;color:#1F1B16;background:#F0EBE0;-webkit-font-smoothing:antialiased;line-height:1.55;letter-spacing:-0.005em}a{color:#1F1B16;text-decoration:none;transition:color .12s ease}a:hover{color:#0F0C09;text-decoration:underline}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,h5,h6,p,dl,dd{margin:0}table{border-collapse:collapse;width:100%}input,select,textarea{font:inherit;color:inherit}details summary{cursor:pointer}:focus{outline:none}:focus-visible{outline:2px solid #0F0C09;outline-offset:2px;border-radius:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}::selection{background:#0F0C09;color:#F0EBE0}h1{font-size:26px;font-weight:800;letter-spacing:-0.025em;color:#0F0C09}h2{font-size:20px;font-weight:700;letter-spacing:-0.02em;color:#0F0C09}h3{font-size:16px;font-weight:700;letter-spacing:-0.01em;color:#0F0C09}h4{font-size:14px;font-weight:600;color:#0F0C09}.muted{color:#8A8170}strong{font-weight:700;color:#0F0C09}small{font-size:11px;color:#8A8170}.sidebar{background:#E8E2D3;border-right:1px solid #E5DFCF;display:flex;flex-direction:column;padding:12px 0 12px;z-index:30;height:100vh;max-height:100vh;overflow:hidden}@media (max-width:767px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;height:100vh;transform:translateX(-100%);transition:transform .25s ease;box-shadow:0 12px 32px rgba(31,27,22,0.1)}.sidebar--open{transform:translateX(0)}}.sidebar__brand{display:flex;align-items:center;gap:10px;padding:12px 16px 20px;text-decoration:none;color:inherit}.sidebar__brand:hover{text-decoration:none}.sidebar__brand-mark{width:30px;height:30px;border-radius:6px;background:#0F0C09;color:#F0EBE0;font-size:14px;font-weight:800;display:grid;place-items:center;letter-spacing:-0.02em;flex-shrink:0}.sidebar__brand-text{font-weight:700;font-size:15px;color:#0F0C09;letter-spacing:-0.02em}.sidebar__brand-dot{color:#C2410C}.sidebar__nav{flex:1;min-height:0;overflow-y:auto;padding:0 12px;scrollbar-width:thin}.sidebar__nav::-webkit-scrollbar{width:6px;height:6px}.sidebar__nav::-webkit-scrollbar-thumb{background:#DCD5C4;border-radius:3px}.sidebar__group{margin-bottom:20px}.sidebar__group-label{font-size:10px;font-weight:700;color:#8A8170;letter-spacing:0.08em;text-transform:uppercase;padding:0 12px 8px}.sidebar__link{display:flex;align-items:center;padding:7px 12px;border-radius:6px;color:#1F1B16;font-weight:500;font-size:13px;transition:background .12s ease,color .12s ease;margin-bottom:1px}.sidebar__link:hover{background:#F5F1E6;color:#0F0C09;text-decoration:none}.sidebar__link:focus-visible{outline:2px solid #0F0C09;outline-offset:2px}.sidebar__link--active{background:#0F0C09;color:#fff;font-weight:600}.sidebar__link--active:hover{background:#000;color:#fff}.sidebar__footer{padding:12px 16px 8px;border-top:1px solid #E5DFCF;margin-top:12px}.sidebar__user{display:flex;align-items:center;gap:12px;margin-bottom:8px}.sidebar__user-avatar{width:30px;height:30px;border-radius:50%;background:#0F0C09;color:#F0EBE0;font-weight:700;font-size:12px;display:grid;place-items:center}.sidebar__user-meta{display:flex;flex-direction:column;min-width:0}.sidebar__user-name{font-weight:600;font-size:12px;color:#0F0C09;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__user-role{font-size:10px;color:#8A8170}.sidebar__logout{display:block;text-align:center;padding:6px;color:#8A8170;font-size:11px;border-radius:6px;margin-top:8px;transition:background .12s,color .12s}.sidebar__logout:hover{background:#F5F1E6;text-decoration:none;color:#0F0C09}.sidebar__brand:hover .sidebar__brand-mark{background:#000}.sidebar__overlay{display:none}@media (max-width:767px){.sidebar__overlay{display:block;position:fixed;inset:0;background:rgba(31,27,22,0.45);z-index:20}}.topbar{height:56px;min-height:56px;background:#F0EBE0;border-bottom:1px solid #E5DFCF;display:flex;align-items:center;gap:12px;padding:0 20px;position:sticky;top:0;z-index:10;flex-shrink:0;box-sizing:border-box}@media (max-width:767px){.topbar{padding:0 12px;gap:8px}}.topbar__menu{background:transparent;border:0;padding:8px;display:none;cursor:pointer}@media (max-width:767px){.topbar__menu{display:inline-flex;flex-direction:column;gap:4px}}.topbar__menu span{display:block;width:20px;height:2px;background:#1F1B16;border-radius:2px}.topbar__breadcrumb{min-width:0}@media (max-width:767px){.topbar__breadcrumb{display:none}}.topbar__search{margin-left:auto}@media (max-width:767px){.topbar__search{display:none}}.topbar__search input{width:280px;padding:7px 12px;border:1px solid #DCD5C4;border-radius:6px;background:#FAF7F0;font-size:12px;color:#1F1B16}.topbar__search input::placeholder{color:#8A8170}.topbar__search input:focus{outline:none;border-color:#0F0C09;background:#fff}.topbar__bell{background:transparent;border:1px solid #DCD5C4;border-radius:6px;width:34px;height:34px;position:relative;display:inline-flex;align-items:center;justify-content:center;color:#1F1B16;cursor:pointer;flex-shrink:0;padding:0;transition:background .12s,border-color .12s,color .12s}.topbar__bell:hover{background:#F5F1E6;border-color:#8A8170;color:#0F0C09}.topbar__bell:focus-visible{outline:2px solid #0F0C09;outline-offset:2px}.topbar__bell-icon{display:block;pointer-events:none}.topbar__bell-slot{position:absolute;top:-6px;right:-6px;pointer-events:none}.bell__badge{display:inline-grid;place-items:center;min-width:18px;height:18px;background:#DC2626;color:#fff;font-size:10px;font-weight:700;border-radius:9px;padding:0 5px;border:2px solid #F0EBE0;line-height:1}.topbar__new{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#0F0C09;color:#fff;border:1px solid #0F0C09;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;flex-shrink:0;cursor:pointer;transition:background .12s,border-color .12s}.topbar__new:hover{background:#000;border-color:#000;text-decoration:none;color:#fff}.topbar__new:focus-visible{outline:2px solid #0F0C09;outline-offset:2px}@media (max-width:767px){.topbar__new{padding:0;width:34px;height:34px;justify-content:center}.topbar__new .topbar__new-text{display:none}.topbar__new .topbar__new-icon{font-size:18px;line-height:1}}.topbar__new-icon{font-size:14px;font-weight:700;line-height:1}.topbar__notifications{position:fixed;right:20px;top:64px;min-width:320px;max-width:380px;background:#FAF7F0;border-radius:10px;box-shadow:0 12px 32px rgba(31,27,22,0.1);border:1px solid #DCD5C4;z-index:40;overflow:hidden}.layout{display:grid;grid-template-columns:220px 1fr;height:100vh;overflow:hidden}@media (max-width:767px){.layout{grid-template-columns:1fr}}.layout__main{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.workspace{display:grid;grid-template-columns:1fr 0;transition:grid-template-columns .25s ease;flex:1;min-height:0;overflow:hidden}.workspace--with-detail{grid-template-columns:1fr 380px}@media (max-width:1023px){.workspace--with-detail{grid-template-columns:1fr}}.content{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.workspace .content{overflow:hidden;display:flex;flex-direction:column}.page-shell{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.page-shell__head{flex-shrink:0;padding:16px 20px 12px;border-bottom:1px solid #E5DFCF;background:#F0EBE0}@media (max-width:767px){.page-shell__head{padding:12px 12px 8px}}.page-shell__titlebar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:4px}.page-shell__title{margin:0;font-size:22px;font-weight:700;line-height:1.2;color:#0F0C09;letter-spacing:-0.01em}.page-shell__sub{margin:3px 0 0;font-size:12px;color:#8A8170}.page-shell__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.page-shell__body{flex:1;min-width:0;min-height:0}.page-shell__body--scroll{overflow-y:auto;overflow-x:hidden;padding:20px;scrollbar-width:thin}.page-shell__body--scroll::-webkit-scrollbar{width:6px;height:6px}.page-shell__body--scroll::-webkit-scrollbar-thumb{background:#DCD5C4;border-radius:3px}@media (max-width:767px){.page-shell__body--scroll{padding:12px}}.page-shell__body--split{overflow:hidden;display:flex;flex-direction:column}.page-shell__body--scroll>.page{padding:0}.page{max-width:none}.page--projects{max-width:none;width:100%;flex:1;min-height:0;display:flex;flex-direction:column;padding:20px}.page--placeholder{background:#FAF7F0;border-radius:10px;box-shadow:0 1px 2px rgba(31,27,22,0.04);padding:16px;border:1px solid #DCD5C4}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:6px;border:1px solid #DCD5C4;background:#FAF7F0;color:#1F1B16;font-weight:600;font-size:12px;cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .05s;text-decoration:none;line-height:1.2}.btn:hover{text-decoration:none;background:#F5F1E6;border-color:#8A8170;color:#0F0C09}.btn:active{transform:scale(0.97)}.btn:focus-visible{outline:2px solid #0F0C09;outline-offset:2px}.btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.btn--primary{background:#0F0C09;color:#F0EBE0;border-color:#0F0C09}.btn--primary:hover{background:#000;border-color:#000;color:#fff}.btn--ghost{background:#F0EBE0;border-color:#DCD5C4;color:#1F1B16}.btn--ghost:hover{background:#F5F1E6;border-color:#8A8170;color:#0F0C09}.btn--danger{background:#DC2626;color:#fff;border-color:#DC2626}.btn--danger:hover{background:#991B1B;border-color:#991B1B;color:#fff}.btn--block{width:100%}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap;margin-right:4px;--cat-color:#8A8170;background:color-mix(in srgb,var(--cat-color) 14%,white);color:color-mix(in srgb,var(--cat-color) 65%,black);border:1px solid color-mix(in srgb,var(--cat-color) 22%,transparent)}.badge--solid{background:var(--cat-color);color:#fff;border-color:transparent}.dday{display:inline-block;padding:3px 8px;border-radius:6px;font-weight:700;font-size:11px;background:#F5F1E6;color:#8A8170;border:1px solid #E5DFCF;line-height:1.4}.dday--urgent{background:#FEE2E2;color:#DC2626;border-color:rgba(220,38,38,0.2)}.dday--overdue{background:#991B1B;color:#fff;border-color:#991B1B}.dday--today{background:#DC2626;color:#fff;border-color:#DC2626}.state-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap;--state-color:#8A8170;background:var(--state-color);color:color-mix(in srgb,var(--state-color) 14%,white);border:1px solid color-mix(in srgb,var(--state-color) 22%,transparent)}.avatar{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#0F0C09;color:#F0EBE0;font-size:10px;font-weight:700;margin-right:-6px;border:2px solid #FAF7F0;position:relative;z-index:1}.page-header{margin-bottom:16px}.page-header h2{font-size:26px;font-weight:700;color:#0F0C09;letter-spacing:-0.02em;margin-bottom:4px}.page-header .page-header__sub{color:#8A8170;font-size:12px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap;background:#FAF7F0;border:1px solid #E5DFCF;border-radius:10px;padding:10px 12px}.toolbar__group{display:flex;align-items:center;gap:6px}.toolbar__inline-search{padding:6px 12px;border:1px solid #DCD5C4;border-radius:6px;background:#F0EBE0;font-size:12px;min-width:180px;flex:0 1 220px;margin-left:auto;color:#1F1B16}.toolbar__inline-search::placeholder{color:#8A8170}.toolbar__inline-search:focus{outline:none;border-color:#0F0C09;background:#fff}.cat-chips{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.cat-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 12px;background:#F0EBE0;border:1px solid #DCD5C4;border-radius:999px;font-size:12px;font-weight:500;color:#1F1B16;cursor:pointer;user-select:none;transition:background .12s,color .12s,border-color .12s;line-height:1.3;font-family:inherit}.cat-chip:hover{background:#F5F1E6;color:#0F0C09;border-color:#8A8170}.cat-chip:hover .cat-chip__count{background:#0F0C09;color:#fff}.cat-chip--on{background:#0F0C09;color:#fff;border-color:#0F0C09;font-weight:600}.cat-chip--on .cat-chip__count{background:rgba(255,255,255,0.18);color:#fff}.cat-chip--on:hover{background:#000;color:#fff;border-color:#000}.cat-chip--on:hover .cat-chip__count{background:rgba(255,255,255,0.25);color:#fff}.cat-chip:focus-visible{outline:2px solid #0F0C09;outline-offset:2px}.cat-chip__input{appearance:none;-webkit-appearance:none;position:absolute;width:0;height:0;opacity:0;pointer-events:none;margin:0;padding:0}.cat-chip__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,0.08)}.cat-chip__count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 6px;background:#F5F1E6;color:#8A8170;border-radius:999px;font-size:11px;font-weight:700;font-feature-settings:"tnum";line-height:1;transition:background .12s,color .12s}.filter-pop{position:relative;display:inline-block}.filter-pop__btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #DCD5C4;background:#F0EBE0;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;color:#1F1B16;cursor:pointer;user-select:none;transition:background .12s,color .12s,border-color .12s;line-height:1.3}.filter-pop__btn:hover{background:#F5F1E6;color:#0F0C09;border-color:#8A8170}.filter-pop__btn:focus-visible{outline:2px solid #0F0C09;outline-offset:2px}.filter-pop__btn--open{background:#0F0C09;color:#fff;border-color:#0F0C09}.filter-pop__btn--open:hover{background:#000;color:#fff;border-color:#000}.filter-pop__btn--open .filter-pop__count{background:#fff;color:#0F0C09}.filter-pop__count{background:#C2410C;color:#fff;border-radius:999px;padding:0 6px;font-size:10px;font-weight:700;min-width:16px;text-align:center}.filter-pop__panel{position:absolute;top:100%;left:0;z-index:20;margin-top:6px;background:#FAF7F0;border:1px solid #DCD5C4;border-radius:10px;box-shadow:0 12px 32px rgba(31,27,22,0.1);padding:8px;min-width:220px;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.filter-pop__item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:12px;color:#1F1B16;transition:background .12s,color .12s}.filter-pop__item:hover{background:#F5F1E6;color:#0F0C09}.filter-pop__item:has(input:checked){background:#E8E2D3;color:#0F0C09;font-weight:600}.filter-pop__item input[type="checkbox"]{accent-color:#0F0C09;width:14px;height:14px;cursor:pointer}.toolbar__inline-search{transition:border-color .12s,background .12s,box-shadow .12s}.toolbar__inline-search:hover{border-color:#8A8170;background:#FAF7F0}.toolbar__group--scope{background:#FAF7F0;border:1px solid #DCD5C4;border-radius:6px;padding:3px;gap:0;display:inline-flex}.seg__input{appearance:none;-webkit-appearance:none;position:absolute;width:0;height:0;opacity:0;pointer-events:none;margin:0;padding:0}.seg{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;padding:5px 12px 5px 16px;font-size:12px;font-weight:600;cursor:pointer;color:#1F1B16;transition:background .12s,color .12s;user-select:none;border-radius:6px;line-height:1.3;position:relative}.seg:first-child,.seg:last-child{border-radius:6px}.seg:hover{background:#F5F1E6;color:#0F0C09}.seg:hover .seg__count{background:#0F0C09;color:#fff}.seg:focus-within{outline:2px solid #0F0C09;outline-offset:2px;z-index:1}.seg--active{background:#0F0C09;color:#fff;font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,0.15)}.seg--active .seg__count{background:rgba(255,255,255,0.18);color:#fff}.seg--active:hover{background:#000;color:#fff}.seg--active:hover .seg__count{background:rgba(255,255,255,0.25);color:#fff}.seg__count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 6px;background:#F5F1E6;color:#8A8170;border-radius:999px;font-size:11px;font-weight:700;font-feature-settings:"tnum";line-height:1;transition:background .12s,color .12s}.select{padding:6px 12px;border:1px solid #DCD5C4;border-radius:6px;background:#F0EBE0;font-size:12px;color:#1F1B16;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.select:hover{background:#F5F1E6;border-color:#8A8170}.select:focus{outline:none;border-color:#0F0C09;background:#fff;box-shadow:0 0 0 3px rgba(15,12,9,0.1)}.project-list{background:#FAF7F0;border:1px solid #E5DFCF;border-radius:10px;flex:1;min-height:0;overflow-y:auto;overflow-x:auto;scrollbar-width:thin}.project-list::-webkit-scrollbar{width:6px;height:6px}.project-list::-webkit-scrollbar-thumb{background:#DCD5C4;border-radius:3px}.page--projects>.page-header,.page--projects>.toolbar{flex-shrink:0}.cat-dot{display:inline-block;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,0.1);cursor:help;flex-shrink:0;transition:transform .12s ease}.cat-dot:hover{transform:scale(1.4)}.row-name__dot{margin-right:2px}.group-header{--cat-color:#6B7280;background:color-mix(in srgb,var(--cat-color) 8%,white)!important;cursor:default}.group-header td{position:sticky;top:calc(var(--thead-h,42px) - 1px);z-index:2;padding:13px 16px 10px;border-top:0;border-bottom:0;box-shadow:inset 0 4px 0 var(--cat-color),inset 0 -1px 0 color-mix(in srgb,var(--cat-color) 25%,transparent);font-size:12px;background:color-mix(in srgb,var(--cat-color) 8%,white)!important}.group-header:hover td{background:color-mix(in srgb,var(--cat-color) 8%,white)!important}.group-header__name{font-weight:700;letter-spacing:-0.01em;color:color-mix(in srgb,var(--cat-color) 70%,#111)}.group-header__count{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 7px;margin-left:10px;background:var(--cat-color);color:#fff;border-radius:999px;font-size:11px;font-weight:700;font-feature-settings:"tnum";line-height:1;vertical-align:middle}.row-name{display:inline-flex;align-items:baseline;gap:6px}.row-flag{display:inline-grid;place-items:center;height:16px;padding:0 6px;background:#0F0C09;color:#F0EBE0;border-radius:6px;font-size:10px;font-weight:700;line-height:1;font-feature-settings:"tnum";cursor:help}.row-memo{display:inline-block;margin-left:4px;font-size:10px;font-weight:700;color:#C2410C;cursor:help}.row-lastmemo{font-size:11px;color:#8A8170;margin-top:2px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48em}.row-subtitle{font-size:11px;font-weight:400;color:#8A8170;margin-top:2px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48em}.row-subtitle__sep{opacity:0.5;margin:0 4px}.row-next-ms{color:#1F1B16}.row-next-ms--urgent{color:#DC2626;font-weight:600}.table{width:100%;font-size:12px;--thead-h:42px}.table thead{position:sticky;top:0;z-index:3}.table th{text-align:left;padding:12px 12px;font-weight:600;color:#8A8170;border-bottom:1px solid #E5DFCF;font-size:11px;text-transform:uppercase;letter-spacing:0.05em;white-space:nowrap;background:#F5F1E6}.table td{padding:12px;border-bottom:1px solid #EAE3D2;vertical-align:middle;color:#1F1B16}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:background .12s ease;cursor:pointer;background:#FAF7F0}.table tbody tr:nth-child(even){background:color-mix(in srgb,#F0EBE0 60%,#FAF7F0)}.table tbody tr:hover td{background:#F5F1E6;color:#0F0C09}.table tbody tr.row--selected td{background:#E8E2D3;color:#0F0C09;font-weight:600}.table tbody tr:focus-visible{outline:2px solid #0F0C09;outline-offset:-2px}.row--urgent td{background:rgba(220,38,38,0.04)}.row--overdue td{background:rgba(153,27,27,0.06)}.row--urgent:hover td{background:rgba(220,38,38,0.1);color:#0F0C09}.row--overdue:hover td{background:rgba(153,27,27,0.12);color:#0F0C09}@media (max-width:767px){.table thead{display:none}.table,.table tbody{display:block;background:transparent;border:0}.table tr{display:block}.table tbody tr.group-header{margin:16px 0 8px;padding:0;background:transparent!important}.table tbody tr.group-header td{display:block;position:static;padding:8px 12px;background:color-mix(in srgb,var(--cat-color) 12%,white)!important;border:0;border-radius:6px;box-shadow:inset 3px 0 0 var(--cat-color);color:color-mix(in srgb,var(--cat-color) 70%,#111);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em}.table tbody tr.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px 14px;margin:8px 0;background:#FAF7F0!important;border:1px solid #E5DFCF;border-radius:10px;box-shadow:0 1px 2px rgba(31,27,22,0.04);cursor:pointer;transition:border-color .12s,box-shadow .12s}.table tbody tr.row:hover{border-color:#8A8170;box-shadow:0 2px 6px rgba(31,27,22,0.06);background:#FAF7F0!important}.table tbody tr.row td{display:flex;align-items:center;gap:5px;padding:0;border:0;margin:0;background:transparent!important;min-width:0;color:#1F1B16}.table tbody tr.row td::before{display:none}.table tbody tr.row td[data-label="프로젝트명"]{grid-column:1;grid-row:1;display:block}.table tbody tr.row td[data-label="D-day"]{grid-column:2;grid-row:1;justify-self:end;align-self:start;font-size:12px}.table tbody tr.row td[data-label="지원사업"]{grid-column:1;grid-row:2;font-size:12px;color:#8A8170;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.table tbody tr.row td[data-label="상태"]{grid-column:2;grid-row:2;justify-self:end;align-self:center}.table tbody tr.row td[data-label="클라이언트"]{grid-column:1;grid-row:3;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.table tbody tr.row td[data-label="마감"]{grid-column:2;grid-row:3;justify-self:end;align-self:center;font-size:11px;color:#8A8170;font-feature-settings:"tnum"}.table tbody tr.row td[data-label="담당자"]{grid-column:1 / -1;grid-row:4;flex-wrap:wrap;gap:3px}.table tbody tr.row td[data-label="담당자"]:not(:has(.avatar)){display:none}.row-name{font-size:14px;gap:5px}.row-name strong{font-weight:700}.row-subtitle{font-size:11px;margin-top:3px;max-width:none;white-space:normal}.table tbody tr.row--urgent{border-left:3px solid #D97706}.table tbody tr.row--overdue{border-left:3px solid #991B1B}.table tbody tr.row--urgent td,.table tbody tr.row--overdue td{background:transparent!important}.table tbody tr:nth-child(even){background:transparent}}.card{background:#FAF7F0;border-radius:10px;box-shadow:0 1px 2px rgba(31,27,22,0.04);padding:16px;border:1px solid #DCD5C4}.profile{display:grid;grid-template-columns:120px 1fr;gap:12px 16px;background:#FAF7F0;border-radius:10px;box-shadow:0 1px 2px rgba(31,27,22,0.04);padding:16px;border:1px solid #DCD5C4;max-width:600px}.profile dt{color:#8A8170;font-weight:500}.profile dd{font-weight:500}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field__label{font-size:11px;font-weight:700;color:#8A8170;letter-spacing:0.05em;text-transform:uppercase}.field input[type="text"],.field input[type="email"],.field input[type="password"],.field input[type="search"],.field input[type="date"],.field input[type="number"],.field select,.field textarea{padding:9px 12px;border:1px solid #DCD5C4;border-radius:6px;background:#F0EBE0;font-size:14px;color:#0F0C09;transition:border-color .12s,background .12s,box-shadow .12s}.field input[type="text"]::placeholder,.field input[type="email"]::placeholder,.field input[type="password"]::placeholder,.field input[type="search"]::placeholder,.field input[type="date"]::placeholder,.field input[type="number"]::placeholder,.field select::placeholder,.field textarea::placeholder{color:#8A8170}.field input[type="text"]:hover:not(:disabled):not(:focus),.field input[type="email"]:hover:not(:disabled):not(:focus),.field input[type="password"]:hover:not(:disabled):not(:focus),.field input[type="search"]:hover:not(:disabled):not(:focus),.field input[type="date"]:hover:not(:disabled):not(:focus),.field input[type="number"]:hover:not(:disabled):not(:focus),.field select:hover:not(:disabled):not(:focus),.field textarea:hover:not(:disabled):not(:focus){border-color:#8A8170;background:#FAF7F0}.field input[type="text"]:focus,.field input[type="email"]:focus,.field input[type="password"]:focus,.field input[type="search"]:focus,.field input[type="date"]:focus,.field input[type="number"]:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#0F0C09;background:#fff;box-shadow:0 0 0 3px rgba(15,12,9,0.1)}.field input[type="text"]:disabled,.field input[type="email"]:disabled,.field input[type="password"]:disabled,.field input[type="search"]:disabled,.field input[type="date"]:disabled,.field input[type="number"]:disabled,.field select:disabled,.field textarea:disabled{background:#F5F1E6;color:#8A8170;cursor:not-allowed;opacity:0.7}.field__err{color:#DC2626;font-size:11px;margin-top:2px}.field__hint{color:#8A8170;font-size:11px;margin-top:2px}.auth{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top,#F5F1E6 0%,#F0EBE0 60%);padding:20px}.auth__card{background:#FAF7F0;border:1px solid #E5DFCF;border-radius:14px;padding:40px 28px 28px;width:100%;max-width:380px;box-shadow:0 12px 32px rgba(31,27,22,0.1)}.auth__brand{text-align:center;margin-bottom:20px;display:flex;flex-direction:column;align-items:center;gap:10px}.auth__brand h1{font-size:20px;font-weight:800;letter-spacing:-0.02em;color:#0F0C09;margin-top:4px}.auth__brand-mark{width:52px;height:52px;border-radius:10px;background:#0F0C09;color:#F0EBE0;font-weight:800;font-size:22px;display:grid;place-items:center;letter-spacing:-0.02em}.auth__brand-sub{color:#8A8170;font-size:12px;letter-spacing:-0.01em}.auth__form{display:flex;flex-direction:column;gap:12px;margin-top:16px}.auth__form .field{margin:0}.auth__form .field__label{font-size:11px;font-weight:700;color:#8A8170;letter-spacing:0.05em;text-transform:uppercase;margin-bottom:4px}.auth__form input[type="text"],.auth__form input[type="password"]{padding:10px 12px;border:1px solid #DCD5C4;border-radius:6px;background:#F0EBE0;font-size:14px;color:#0F0C09}.auth__form input[type="text"]:focus,.auth__form input[type="password"]:focus{outline:none;border-color:#0F0C09;background:#fff;box-shadow:0 0 0 3px rgba(15,12,9,0.08)}.auth__form .btn--primary{margin-top:8px;padding:11px;font-size:14px;font-weight:700}.auth__error{background:#FEE2E2;color:#DC2626;border:1px solid rgba(220,38,38,0.25);padding:10px 12px;border-radius:6px;font-size:12px;font-weight:500}.auth__hint{text-align:center;color:#8A8170;font-size:12px;margin-top:20px;padding-top:16px;border-top:1px solid #EAE3D2}.notifications__header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #EAE3D2;font-weight:700;color:#0F0C09;background:#F5F1E6}.notifications__mark-all{background:transparent;border:1px solid transparent;color:#8A8170;font-size:12px;padding:4px 8px;border-radius:6px;transition:background .12s,color .12s,border-color .12s}.notifications__mark-all:hover{color:#0F0C09;background:#FAF7F0;border-color:#DCD5C4}.notifications__mark-all:focus-visible{outline:2px solid #0F0C09;outline-offset:2px}.notifications__list{max-height:400px;overflow-y:auto}.notifications__item{border-bottom:1px solid #EAE3D2;transition:background .12s}.notifications__item:last-child{border-bottom:0}.notifications__item a{color:#1F1B16;display:block;padding:12px 16px;transition:background .12s,color .12s;text-decoration:none}.notifications__item a:hover{background:#F5F1E6;color:#0F0C09;text-decoration:none}.notifications__item--unread{background:#E8E2D3}.notifications__item--unread a{font-weight:600}.notifications__kind{display:inline-block;background:#0F0C09;color:#fff;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;margin-right:8px;letter-spacing:0.02em}.notifications__msg{display:block;font-size:12px;margin-top:2px;line-height:1.45}.notifications__empty{padding:20px;color:#8A8170;text-align:center;font-size:12px}.notifications__loading{padding:16px;color:#8A8170;text-align:center;font-size:12px}.empty{text-align:center;padding:40px 16px;color:#8A8170}.empty p{margin:6px 0;font-size:12px}.empty .empty__hint{font-size:11px;opacity:0.85}.empty strong{color:#0F0C09}.page--form{max-width:1100px}.page--detail{max-width:none}.form__error{background:#FEE2E2;color:#DC2626;border:1px solid rgba(220,38,38,0.25);border-radius:6px;padding:10px 12px;margin-bottom:12px;font-size:12px}.project-form{background:#FAF7F0;border:1px solid #E5DFCF;border-radius:10px;padding:20px}.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:767px){.form__grid{grid-template-columns:1fr}}.field--full{grid-column:1 / -1}.field input[type="text"],.field input[type="email"],.field input[type="password"],.field input[type="search"],.field input[type="date"],.field select,.field textarea{width:100%}.field__chips{display:flex;flex-wrap:wrap;gap:6px;background:#F0EBE0;padding:10px;border-radius:6px;border:1px solid #E5DFCF}.field__chips>div,.field__chips>div>div{display:contents}.field__chips ul{display:contents}.field__chips li,.field__chips label{list-style:none}.field__chips label{display:inline-flex;align-items:center;gap:6px;background:#FAF7F0;padding:5px 12px;border-radius:999px;border:1px solid #DCD5C4;font-size:12px;color:#1F1B16;cursor:pointer;transition:border-color .12s,background .12s,color .12s;user-select:none}.field__chips label:hover{border-color:#0F0C09;background:#F5F1E6;color:#0F0C09}.field__chips label:has(input:checked){background:#0F0C09;border-color:#0F0C09;color:#fff;font-weight:600}.field__chips label:focus-within{outline:2px solid #0F0C09;outline-offset:2px}.field__chips input[type="checkbox"]{accent-color:#0F0C09;width:14px;height:14px;cursor:pointer}.form__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #EAE3D2}.detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;flex-wrap:wrap}.detail__title h2{font-size:26px;font-weight:800;color:#0F0C09;letter-spacing:-0.02em;margin-bottom:8px}.detail__subtitle{font-size:14px;color:#8A8170;margin:-4px 0 12px;line-height:1.5}.detail__meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.detail__actions{display:flex;gap:8px}.detail__section{background:#FAF7F0;border:1px solid #E5DFCF;border-radius:10px;padding:16px 20px;margin-bottom:12px}.detail__section h3{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #EAE3D2;font-size:14px;font-weight:700;color:#0F0C09}.profile{display:grid;grid-template-columns:110px 1fr;gap:10px 16px}.profile dt{color:#8A8170;font-weight:500;font-size:12px}.profile dd{font-weight:600;color:#0F0C09;font-size:12px}.milestone-list,.subproject-list,.memo-list{margin-bottom:12px}.milestone-list__item,.subproject-list__item{padding:10px;border-bottom:1px solid #EAE3D2;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px}.milestone-list__item:last-child,.subproject-list__item:last-child{border-bottom:0}.milestone-list__date{background:#0F0C09;color:#F0EBE0;padding:2px 8px;border-radius:6px;font-weight:700;font-size:11px;font-family:ui-monospace,"SF Mono","Menlo","Cascadia Code","Consolas",monospace}.memo-list__item{padding:12px;background:#F0EBE0;border-radius:6px;margin-bottom:8px}.memo-list__item:last-child{margin-bottom:0}.memo-list__head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px}.memo-list__head time{color:#8A8170;margin-left:auto;font-size:11px}.memo-list__body{padding-left:32px;font-size:12px;line-height:1.55}.inline-form{margin-top:12px;padding-top:12px;border-top:1px dashed #DCD5C4}.inline-form__row{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}.inline-form__row input[type="text"],.inline-form__row input[type="date"],.inline-form__row select,.inline-form__row textarea{flex:1;min-width:160px;padding:8px 12px;border:1px solid #DCD5C4;border-radius:6px;background:#FAF7F0;font-size:12px;color:#0F0C09;transition:border-color .12s,background .12s,box-shadow .12s}.inline-form__row input[type="text"]::placeholder,.inline-form__row input[type="date"]::placeholder,.inline-form__row select::placeholder,.inline-form__row textarea::placeholder{color:#8A8170}.inline-form__row input[type="text"]:hover:not(:focus),.inline-form__row input[type="date"]:hover:not(:focus),.inline-form__row select:hover:not(:focus),.inline-form__row textarea:hover:not(:focus){border-color:#8A8170;background:#fff}.inline-form__row input[type="text"]:focus,.inline-form__row input[type="date"]:focus,.inline-form__row select:focus,.inline-form__row textarea:focus{outline:none;border-color:#0F0C09;background:#fff;box-shadow:0 0 0 3px rgba(15,12,9,0.1)}.inline-form__row .memo-input{min-width:100%}.small{font-size:11px}.settings-tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:1px solid #E5DFCF;flex-wrap:wrap}.settings-tab{padding:10px 16px;color:#8A8170;font-weight:500;font-size:12px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s,background .12s}.settings-tab:hover{text-decoration:none;color:#0F0C09;border-bottom-color:#8A8170;background:#F5F1E6}.settings-tab:focus-visible{outline:2px solid #0F0C09;outline-offset:-2px;background:#F5F1E6}.settings-tab--active{color:#0F0C09;border-bottom-color:#0F0C09;font-weight:700}.invited{background:#DCFCE7;border-color:rgba(21,128,61,0.3)}.invited__pw{background:#0F0C09;color:#F0EBE0;padding:12px 16px;border-radius:6px;font-size:18px;font-family:ui-monospace,"SF Mono","Menlo","Cascadia Code","Consolas",monospace;user-select:all;margin-top:8px;letter-spacing:0.02em}.taxonomy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}@media (max-width:767px){.taxonomy-grid{grid-template-columns:1fr}}.taxonomy-list{display:flex;flex-direction:column;gap:6px}.taxonomy-list li{display:flex;align-items:center;gap:8px;font-size:12px}.table--simple{font-size:12px}.table--users th,.table--users td{vertical-align:middle}.user-row{transition:background .12s}.user-row:hover{background:#F5F1E6}.user-row__id{font-family:ui-monospace,"SF Mono","Menlo","Cascadia Code","Consolas",monospace}.user-row__actions{text-align:right;white-space:nowrap}.user-row--edit{background:#F5F1E6!important}.user-row--edit td{padding-top:12px;padding-bottom:12px}.role-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;margin-right:4px}.role-pill--super{background:#7C3AED;color:#fff}.role-pill--admin{background:#0F0C09;color:#fff}.role-pill--member{background:#F5F1E6;color:#8A8170;border:1px solid #DCD5C4}.role-pill--inactive{background:#FEE2E2;color:#DC2626;border:1px solid rgba(220,38,38,0.25)}.btn--xs{padding:4px 10px;font-size:11px;font-weight:700}.user-edit{background:#FAF7F0;border:1px solid #DCD5C4;border-radius:6px;padding:12px 16px}.user-edit__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:767px){.user-edit__grid{grid-template-columns:1fr}}.user-edit__field{display:flex;flex-direction:column;gap:4px}.user-edit__field--full{grid-column:1 / -1}.user-edit__label{font-size:10px;font-weight:700;color:#8A8170;letter-spacing:0.06em;text-transform:uppercase}.user-edit__field input[type="text"],.user-edit__field input[type="email"]{padding:7px 12px;border:1px solid #DCD5C4;border-radius:6px;background:#F0EBE0;font-size:12px;color:#0F0C09}.user-edit__field input[type="text"]:focus,.user-edit__field input[type="email"]:focus{outline:none;border-color:#0F0C09;background:#fff;box-shadow:0 0 0 3px rgba(15,12,9,0.1)}.user-edit__chips{display:flex;flex-wrap:wrap;gap:4px;background:#F0EBE0;padding:6px;border-radius:6px;border:1px solid #E5DFCF}.user-edit__chips>div,.user-edit__chips>div>div{display:contents}.user-edit__chips ul,.user-edit__chips li{list-style:none;padding:0;margin:0;display:contents}.user-edit__chips label{display:inline-flex;align-items:center;gap:4px;background:#FAF7F0;padding:3px 10px;border-radius:999px;border:1px solid #DCD5C4;font-size:11px;cursor:pointer;transition:background .12s,color .12s,border-color .12s;user-select:none}.user-edit__chips label:hover{border-color:#8A8170;background:#F5F1E6;color:#0F0C09}.user-edit__chips label:has(input:checked){background:#0F0C09;color:#fff;border-color:#0F0C09;font-weight:600}.user-edit__chips input[type="checkbox"]{accent-color:#0F0C09}.user-edit__check{flex-direction:row;align-items:center;gap:6px;cursor:pointer;font-size:12px;user-select:none}.user-edit__check input[type="checkbox"]{accent-color:#0F0C09;width:14px;height:14px}.user-edit__err{margin-top:8px;background:#FEE2E2;color:#DC2626;padding:6px 12px;border-radius:6px;font-size:11px}.user-edit__err p{margin:0}.messages{position:fixed;bottom:20px;right:20px;z-index:100;display:flex;flex-direction:column;gap:8px}.message{background:#0F0C09;color:#F0EBE0;padding:10px 16px;border-radius:6px;box-shadow:0 12px 32px rgba(31,27,22,0.1);font-size:12px;font-weight:500;max-width:360px;border:1px solid #0F0C09}.message--success{background:#15803D;border-color:#15803D}.message--error{background:#DC2626;border-color:#DC2626}.message--warning{background:#D97706;border-color:#D97706}.detail-panel{background:#FAF7F0;border-left:1px solid #E5DFCF;box-shadow:-4px 0 20px rgba(31,27,22,0.08);overflow-y:auto;height:100%;scrollbar-width:thin}.detail-panel::-webkit-scrollbar{width:6px;height:6px}.detail-panel::-webkit-scrollbar-thumb{background:#DCD5C4;border-radius:3px}@media (max-width:1023px){.detail-panel{position:fixed;top:0;right:0;bottom:0;width:92vw;max-width:420px;z-index:50;height:100vh;box-shadow:0 12px 32px rgba(31,27,22,0.1)}}.detail-panel--empty{display:none}.detail-panel__close{position:absolute;top:12px;right:12px;background:transparent;border:1px solid #DCD5C4;border-radius:6px;width:28px;height:28px;display:grid;place-items:center;color:#8A8170;font-size:16px;line-height:1;z-index:2;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.detail-panel__close:hover{background:#0F0C09;color:#fff;border-color:#0F0C09}.detail-panel__close:focus-visible{outline:2px solid #0F0C09;outline-offset:2px}.detail-panel__header{padding:20px 20px 16px;border-bottom:1px solid #EAE3D2;position:sticky;top:0;z-index:3;background:#FAF7F0}.detail-panel__title{font-size:16px;font-weight:700;color:#0F0C09;letter-spacing:-0.02em;line-height:1.3;margin-bottom:8px;padding-right:36px}.detail-panel__subtitle{font-size:12px;color:#8A8170;line-height:1.5;margin:-2px 0 8px}.detail-panel__meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.detail-panel__id{font-size:11px;font-weight:600;color:#8A8170;font-family:ui-monospace,"SF Mono","Menlo","Cascadia Code","Consolas",monospace;letter-spacing:0.04em}.detail-panel__section{padding:16px 20px;border-bottom:1px solid #EAE3D2}.detail-panel__section:last-child{border-bottom:0}.detail-panel__section h4{font-size:10px;font-weight:700;color:#8A8170;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:8px}.detail-panel__row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:12px;gap:12px}.detail-panel__row+.detail-panel__row{border-top:1px solid #EAE3D2}.detail-panel__row__label{color:#8A8170;flex-shrink:0}.detail-panel__row__value{font-weight:600;color:#0F0C09;text-align:right}.detail-panel__desc{font-size:12px;color:#1F1B16;line-height:1.6;background:#F0EBE0;padding:12px;border-radius:6px}.detail-panel__inline-form{margin-top:12px}.detail-panel__inline-form textarea,.detail-panel__inline-form input[type="text"],.detail-panel__inline-form input[type="date"],.detail-panel__inline-form select{width:100%;padding:8px 12px;border:1px solid #DCD5C4;border-radius:6px;background:#FAF7F0;font-size:12px;color:#1F1B16;margin-bottom:6px;transition:border-color .12s,background .12s,box-shadow .12s}.detail-panel__inline-form textarea::placeholder,.detail-panel__inline-form input[type="text"]::placeholder,.detail-panel__inline-form input[type="date"]::placeholder,.detail-panel__inline-form select::placeholder{color:#8A8170}.detail-panel__inline-form textarea:hover:not(:focus),.detail-panel__inline-form input[type="text"]:hover:not(:focus),.detail-panel__inline-form input[type="date"]:hover:not(:focus),.detail-panel__inline-form select:hover:not(:focus){border-color:#8A8170;background:#fff}.detail-panel__inline-form textarea:focus,.detail-panel__inline-form input[type="text"]:focus,.detail-panel__inline-form input[type="date"]:focus,.detail-panel__inline-form select:focus{outline:none;border-color:#0F0C09;background:#fff;box-shadow:0 0 0 3px rgba(15,12,9,0.1)}.detail-panel__inline-form__row{display:flex;gap:6px}.detail-panel__inline-form__row>*{flex:1}.detail-panel__inline-form button{width:100%;padding:8px 12px;background:#0F0C09;color:#fff;border:1px solid #0F0C09;border-radius:6px;font-size:12px;font-weight:700;margin-top:6px;cursor:pointer;transition:background .12s,border-color .12s}.detail-panel__inline-form button:hover{background:#000;border-color:#000;color:#fff}.detail-panel__inline-form button:focus-visible{outline:2px solid #0F0C09;outline-offset:2px}.detail-panel__memo-list{margin-top:12px;display:flex;flex-direction:column;gap:12px}.detail-panel__memo{background:#F0EBE0;border-radius:6px;padding:12px}.detail-panel__memo__head{display:flex;align-items:center;gap:6px;font-size:11px;margin-bottom:4px}.detail-panel__memo__author{font-weight:700;color:#0F0C09}.detail-panel__memo__time{color:#8A8170;margin-left:auto}.detail-panel__memo__body{font-size:12px;line-height:1.55}.dp-status-select{appearance:none;border:1px solid var(--state-color,#DCD5C4);color:var(--state-color,#1F1B16);background:#FAF7F0;border-radius:999px;padding:2px 22px 2px 10px;font-size:11px;font-weight:700;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.dp-inline-edit{border:none;background:none;color:#C2410C;font-size:11px;cursor:pointer;margin-left:8px;padding:0}.dp-summary-form .memo-input{width:100%}.dp-memo{background:#F0EBE0;border-radius:6px;padding:12px}.dp-memo--pinned{background:#FCEAD4;border-left:3px solid #C2410C}.dp-memo--editing{background:#F5F1E6}.dp-memo__head{display:flex;align-items:center;gap:6px;font-size:11px;margin-bottom:4px}.dp-memo__author{font-weight:700;color:#0F0C09}.dp-memo__pin{font-size:11px}.dp-memo__time{color:#8A8170;margin-left:auto}.dp-memo__body{font-size:12px;line-height:1.55;white-space:pre-wrap}.dp-memo__actions{display:inline-flex;gap:6px}.dp-memo__actions button{border:none;background:none;color:#8A8170;font-size:11px;cursor:pointer;padding:0}.dp-memo__actions button:hover{color:#C2410C;text-decoration:underline}.dp-memo__edit-actions{display:flex;gap:8px;margin-top:8px}.dp-ms-actions{display:inline-flex;gap:6px;margin-left:auto}.dp-ms-actions button{border:none;background:none;color:#8A8170;font-size:11px;cursor:pointer;padding:0}.dp-ms-actions button:hover{color:#C2410C;text-decoration:underline}.dp-ms-edit{display:flex;flex-wrap:wrap;gap:6px;align-items:center;width:100%}.dp-ms-edit input[type="text"]{flex:1;min-width:120px}.detail-panel__milestone{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12px}.detail-panel__milestone+.detail-panel__milestone{border-top:1px solid #EAE3D2}.detail-panel__milestone__name{flex:1}.detail-panel__milestone--done{opacity:0.55}.detail-panel__milestone--done .detail-panel__milestone__name{text-decoration:line-through}.detail-panel__milestone--done .detail-panel__milestone__date{background:#8A8170}.detail-panel__milestone__date{background:#0F0C09;color:#F0EBE0;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:700;font-family:ui-monospace,"SF Mono","Menlo","Cascadia Code","Consolas",monospace;flex-shrink:0}.ms-check{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:4px;border:1.5px solid #DCD5C4;background:#FAF7F0;color:transparent;font-size:12px;line-height:1;cursor:pointer;flex-shrink:0;transition:background .12s,border-color .12s,color .12s;padding:0}.ms-check:hover{border-color:#0F0C09;background:#F5F1E6}.ms-check:focus-visible{outline:2px solid #0F0C09;outline-offset:2px}.ms-check--on{background:#0F0C09;border-color:#0F0C09;color:#fff}.ms-check--on:hover{background:#000;border-color:#000}.ms-check input{display:none}.detail-panel__overlay{display:none}@media (max-width:1023px){.detail-panel__overlay{display:block;position:fixed;inset:0;background:rgba(31,27,22,0.45);z-index:49}}.detail-panel__actions{display:flex;gap:8px;padding:12px 20px;border-top:1px solid #EAE3D2;background:#F0EBE0;position:sticky;bottom:0}.detail-panel__actions a,.detail-panel__actions button{flex:1;text-align:center;padding:8px 12px;border:1px solid #DCD5C4;background:#FAF7F0;color:#1F1B16;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.detail-panel__actions a:hover,.detail-panel__actions button:hover{background:#0F0C09;color:#fff;border-color:#0F0C09;text-decoration:none}.detail-panel__actions a:focus-visible,.detail-panel__actions button:focus-visible{outline:2px solid #0F0C09;outline-offset:2px}@media (max-width:767px){.detail-panel{width:100vw;max-width:100vw}.detail-panel__header{padding:16px 16px 12px}.detail-panel__title{font-size:14px;padding-right:48px}.detail-panel__subtitle{font-size:12px}.detail-panel__close{width:38px;height:38px;font-size:20px}.detail-panel__section{padding:12px 16px}.detail-panel__section h4{margin-bottom:6px}.detail-panel__row{font-size:13px;padding:8px 0}.detail-panel__desc{padding:12px}.detail-panel__inline-form textarea,.detail-panel__inline-form input[type="text"],.detail-panel__inline-form input[type="date"],.detail-panel__inline-form select{font-size:16px;padding:10px 12px}.detail-panel__inline-form button{padding:11px 12px;font-size:13px}.detail-panel__memo{padding:8px 12px}.detail-panel__memo__head{font-size:11px;margin-bottom:3px}.detail-panel__memo__body{font-size:13px}.detail-panel__milestone{font-size:13px;padding:8px 0}.ms-check{width:22px;height:22px;font-size:14px}.detail-panel__actions{padding:12px 16px;gap:12px}.detail-panel__actions a,.detail-panel__actions button{padding:11px 12px;font-size:13px}}.gantt{--label-w:220px;--row-h:56px;--head-h:56px;--head-month-h:22px;--group-h:30px;--bar-h:22px;--bar-y:8px;--ms-y:42px;--px-per-day:18px;--arrow-w:10px;flex:1;min-height:0;overflow:auto;background:#FAF7F0;border:1px solid #E5DFCF;border-radius:10px;position:relative;scrollbar-width:thin;display:grid;grid-template-columns:minmax(100%,max-content);grid-auto-rows:max-content}.gantt::-webkit-scrollbar{width:6px;height:6px}.gantt::-webkit-scrollbar-thumb{background:#DCD5C4;border-radius:3px}.gantt--grabbing{cursor:grabbing;user-select:none}.gantt--grabbing a,.gantt--grabbing .gantt__bar{cursor:grabbing}.gantt__head{display:flex;position:sticky;top:0;z-index:20;height:var(--head-h);width:max-content;min-width:100%;background:#F5F1E6;box-shadow:inset 0 -1px 0 #DCD5C4}.gantt__head__label{width:var(--label-w);flex-shrink:0;position:sticky;left:0;z-index:21;background:#F5F1E6;padding:0 16px;display:flex;align-items:center;font-size:11px;font-weight:700;color:#8A8170;text-transform:uppercase;letter-spacing:0.05em;box-shadow:inset -1px 0 0 #DCD5C4}.gantt__head__timeline{position:relative;flex:1;height:100%}.gantt__head__months{position:absolute;top:0;left:0;right:0;height:var(--head-month-h);box-shadow:inset 0 -1px 0 #E5DFCF;pointer-events:none}.gantt__month-cell{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding-left:6px;box-shadow:inset 1px 0 0 #DCD5C4;overflow:hidden}.gantt__month-label{font-size:11px;font-weight:700;color:#0F0C09;line-height:1;letter-spacing:-0.01em;white-space:nowrap}.gantt__head__days{position:absolute;left:0;right:0;top:var(--head-month-h);bottom:0;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--px-per-day) * 5),rgba(31,27,22,0.05) calc(var(--px-per-day) * 5),rgba(31,27,22,0.05) calc(var(--px-per-day) * 7))}.gantt__day-tick{position:absolute;top:0;bottom:0;box-shadow:inset 1px 0 0 #EAE3D2;padding:4px 0 0 4px;pointer-events:none}.gantt__day-tick--month{box-shadow:inset 1px 0 0 #DCD5C4}.gantt__day-label{display:block;font-size:10px;color:#8A8170;font-feature-settings:"tnum";line-height:1}.gantt__group{display:contents;--cat-color:#6B7280}.gantt__group-head{display:flex;position:sticky;top:calc(var(--head-h) - 1px);z-index:15;height:var(--group-h);align-items:stretch;width:max-content;min-width:100%}.gantt__group-head__label{width:var(--label-w);flex-shrink:0;position:sticky;left:0;z-index:16;padding:0 16px;display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--cat-color) 8%,white);box-shadow:inset 0 4px 0 var(--cat-color),inset -1px 0 0 color-mix(in srgb,var(--cat-color) 25%,transparent);font-weight:800;font-size:12px;color:color-mix(in srgb,var(--cat-color) 70%,#111)}.gantt__group__name{letter-spacing:-0.01em}.gantt__group__count{display:inline-grid;place-items:center;min-width:18px;height:16px;padding:0 6px;background:var(--cat-color);color:#fff;border-radius:999px;font-size:10px;font-weight:700;font-feature-settings:"tnum";line-height:1}.gantt__group-head__bg{flex:1;position:relative;background-color:color-mix(in srgb,var(--cat-color) 8%,white);background-image:repeating-linear-gradient(to right,rgba(31,27,22,0.06) 0,rgba(31,27,22,0.06) 1px,transparent 1px,transparent var(--px-per-day)),repeating-linear-gradient(to right,transparent 0,transparent calc(var(--px-per-day) * 5),rgba(31,27,22,0.045) calc(var(--px-per-day) * 5),rgba(31,27,22,0.045) calc(var(--px-per-day) * 7));box-shadow:inset 0 4px 0 var(--cat-color)}.gantt__row{display:flex;height:var(--row-h);width:max-content;min-width:100%;text-decoration:none;color:inherit;box-shadow:inset 0 -1px 0 #EAE3D2;cursor:pointer;transition:background .12s}.gantt__row:hover{text-decoration:none}.gantt__row:hover .gantt__row__label,.gantt__row:hover .gantt__row__timeline{background-color:#F5F1E6}.gantt__row:hover .gantt__bar{filter:brightness(1.06);box-shadow:0 2px 6px rgba(0,0,0,0.18)}.gantt__row:focus-visible{outline:2px solid #0F0C09;outline-offset:-2px}.gantt__row__label{width:var(--label-w);flex-shrink:0;position:sticky;left:0;z-index:10;padding:0 16px;background:#FAF7F0;box-shadow:inset -1px 0 0 #EAE3D2;display:flex;flex-direction:column;justify-content:center;transition:background .12s;overflow:hidden}.gantt__row__label strong{font-size:12px;font-weight:600;color:#0F0C09;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.gantt__row__label small{font-size:10px;color:#8A8170;line-height:1.2;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt__row__timeline{flex:1;position:relative;background-color:#FAF7F0;background-image:repeating-linear-gradient(to right,rgba(31,27,22,0.06) 0,rgba(31,27,22,0.06) 1px,transparent 1px,transparent var(--px-per-day)),repeating-linear-gradient(to right,transparent 0,transparent calc(var(--px-per-day) * 5),rgba(31,27,22,0.045) calc(var(--px-per-day) * 5),rgba(31,27,22,0.045) calc(var(--px-per-day) * 7));transition:background-color .12s}.gantt__bar{position:absolute;top:var(--bar-y);height:var(--bar-h);background:var(--cat-color);box-shadow:0 1px 3px rgba(0,0,0,0.15);overflow:hidden;display:flex;align-items:center;padding:0 8px;min-width:4px;transition:filter .12s,box-shadow .12s;z-index:1}.gantt__bar__name{font-size:11px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(0,0,0,0.2);line-height:1}.gantt__bar--full{border-radius:6px}.gantt__bar--overdue{background:#991B1B}.gantt__bar--active{box-shadow:0 0 0 2px rgba(220,38,38,0.3),0 1px 3px rgba(0,0,0,0.2)}.gantt__bar--start-only{clip-path:polygon(0 0,calc(100% - var(--arrow-w)) 0,100% 50%,calc(100% - var(--arrow-w)) 100%,0 100%);border-radius:6px 0 0 6px;padding-right:calc(var(--arrow-w) + 4px)}.gantt__bar--end-only{clip-path:polygon(var(--arrow-w) 0,100% 0,100% 100%,var(--arrow-w) 100%,0 50%);border-radius:0 6px 6px 0;padding-left:calc(var(--arrow-w) + 4px)}.gantt__deadline-marker{position:absolute;top:calc(var(--bar-y) - 7px);transform:translateX(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #991B1B;z-index:3;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,0.15))}.gantt__deadline-marker--overdue{border-top-color:#DC2626}.gantt__no-schedule{position:absolute;left:8px;top:var(--bar-y);height:var(--bar-h);padding:0 12px;background:transparent;border:1.5px dashed color-mix(in srgb,var(--cat-color) 35%,#DCD5C4);color:color-mix(in srgb,var(--cat-color) 50%,#8A8170);border-radius:6px;display:inline-flex;align-items:center;gap:5px;line-height:1;font-size:11px;font-weight:600;letter-spacing:-0.005em;z-index:1}.gantt__no-schedule__icon{font-size:13px;opacity:0.85}.gantt__milestone{position:absolute;top:var(--ms-y);width:12px;height:12px;background:var(--cat-color);transform:translate(-50%,-50%) rotate(45deg);border:2px solid #FAF7F0;box-shadow:0 1px 3px rgba(0,0,0,0.2);z-index:2;cursor:help;transition:transform .12s,box-shadow .12s}.gantt__milestone:hover{transform:translate(-50%,-50%) rotate(45deg) scale(1.25);box-shadow:0 2px 5px rgba(0,0,0,0.3)}.gantt__milestone--done{background:#8A8170;opacity:0.55}.gantt__milestone--overdue{border-color:#DC2626;box-shadow:0 0 0 1px #DC2626,0 1px 4px rgba(220,38,38,0.45)}.gantt__milestone__name{position:absolute;top:var(--ms-y);transform:translateY(-50%);padding:1px 5px;background:rgba(250,247,240,0.95);color:#0F0C09;border-radius:3px;font-size:10px;font-weight:500;line-height:1.2;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,0.06);pointer-events:none;z-index:2;letter-spacing:-0.005em}.gantt__milestone__name--done{opacity:0.55;text-decoration:line-through}.gantt__milestone__name--overdue{color:#DC2626;font-weight:600}.gantt__today-line{position:absolute;top:0;bottom:0;width:0;border-left:2px solid #DC2626;z-index:3;pointer-events:none}.gantt__today-line--head::after{content:"오늘";position:absolute;top:4px;left:4px;font-size:10px;font-weight:700;color:#fff;background:#DC2626;padding:1px 6px;border-radius:6px;white-space:nowrap;letter-spacing:-0.01em}.toolbar--gantt .toolbar__range{margin-left:auto;font-size:11px;color:#8A8170;font-feature-settings:"tnum"}.toolbar--gantt .seg{text-decoration:none}.toolbar--gantt .seg:hover{text-decoration:none}.leave-bar{display:flex;flex-wrap:wrap;gap:3px;max-width:460px}.leave-bar__cell{width:14px;height:14px;border-radius:3px;border:1px solid #DCD5C4;background:#FAF7F0}.leave-bar__cell--used{background:#DC2626;border-color:#DC2626}.leave-bar__cell--used_half{background:linear-gradient(135deg,#DC2626 50%,#FAF7F0 50%);border-color:#DC2626}.leave-bar__cell--remaining{background:#15803D;border-color:#15803D}.leave-bar__cell--remaining_half{background:linear-gradient(135deg,#15803D 50%,#FAF7F0 50%);border-color:#15803D}.leave-bar__cell--reserved{background:#1D4ED8;border-color:#1D4ED8}.leave-bar__cell--empty{background:#FAF7F0;border-color:#E5DFCF}.leave-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#8A8170;margin-bottom:12px}.leave-legend__item{display:inline-flex;align-items:center;gap:4px}.leave-legend__swatch{width:12px;height:12px;border-radius:3px;border:1px solid #DCD5C4}.leave-legend__swatch--used{background:#DC2626;border-color:#DC2626}.leave-legend__swatch--reserved{background:#1D4ED8;border-color:#1D4ED8}.leave-legend__swatch--remaining{background:#15803D;border-color:#15803D}.leave-legend__swatch--empty{background:#FAF7F0}.leave-cards{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.leave-card{flex:1 1 140px;background:#FAF7F0;border:1px solid #DCD5C4;border-radius:10px;padding:12px 16px}.leave-card__label{font-size:12px;color:#8A8170}.leave-card__value{font-size:20px;font-weight:700;color:#0F0C09}.leave-card__unit{font-size:12px;color:#8A8170;margin-left:2px}.leave-card--highlight{background:#FCEAD4;border-color:#C2410C}.leave-card--highlight .leave-card__value{color:#C2410C}.lv-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent}.lv-pill--warning{background:#FEF3C7;color:#D97706}.lv-pill--success{background:#DCFCE7;color:#15803D}.lv-pill--danger{background:#FEE2E2;color:#DC2626}.lv-pill--secondary{background:#F5F1E6;color:#8A8170}.leave-member{display:grid;grid-template-columns:160px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #EAE3D2}.leave-member__name{font-weight:600}.leave-member__sub{font-size:12px;color:#8A8170}.leave-member__nums{font-size:12px;color:#8A8170;white-space:nowrap}@media (max-width:768px){.leave-member{grid-template-columns:1fr;gap:4px}}.content--fill{overflow:hidden;display:flex;flex-direction:column}.page--schedule{flex:1;min-height:0;width:100%;max-width:none;display:flex;flex-direction:column}.page--schedule .page-header,.page--schedule .cal-toolbar{flex:0 0 auto}.cal-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.cal-toolbar__month{font-size:16px}.cal-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#8A8170}.cal-legend__item{display:inline-flex;align-items:center;gap:4px}.cal-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.cal-dot--project-start{background:#1D4ED8}.cal-dot--project-end{background:#DC2626}.cal-dot--milestone{background:#C2410C}.cal-dot--leave{background:#15803D}.cal-dot--birthday{background:#DB2777}.cal{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:auto;grid-auto-rows:1fr;border-top:1px solid #DCD5C4;border-left:1px solid #DCD5C4}.cal__head{text-align:center;background:#F5F1E6;border-right:1px solid #DCD5C4;border-bottom:1px solid #DCD5C4;padding:8px 0;font-weight:600;font-size:12px}.cal__cell{border-right:1px solid #DCD5C4;border-bottom:1px solid #DCD5C4;padding:3px;min-height:0;display:flex;flex-direction:column;overflow:hidden}.cal__cell--empty{background:#F5F1E6}.cal__cell--today{background:#FCEAD4}.cal__day{flex:0 0 auto;font-size:11px;color:#8A8170;margin-bottom:2px}.cal__events{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}.cal__events::-webkit-scrollbar{width:6px;height:6px}.cal__events::-webkit-scrollbar-thumb{background:#DCD5C4;border-radius:3px}.cal__event{display:block;border-radius:6px;padding:1px 5px;margin-top:2px;font-size:11px;line-height:1.5;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal__event--project-start{background:#1D4ED8}.cal__event--project-end{background:#DC2626}.cal__event--milestone{background:#C2410C}.cal__event--leave{background:#15803D}.cal__event--birthday{background:#DB2777}@media (min-width:1024px){.cal__cell{padding:5px}.cal__event{font-size:12px;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}}@media (min-width:1280px){.cal__cell{padding:7px}.cal__day{font-size:12px}.cal__event{padding:2px 7px;margin-top:3px}}@media (max-width:768px){.content--fill{overflow-y:auto}.cal{grid-auto-rows:minmax(56px,1fr)}.cal__event{font-size:10px;padding:1px 4px}}.grant-status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#fff;background:var(--status-color,#6B7280);vertical-align:middle}.grant-status--sm{padding:1px 6px;font-size:11px}.grant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:8px}.grant-card{display:block;padding:12px 16px;border:1px solid #DCD5C4;border-radius:10px;background:#FAF7F0;text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s}.grant-card:hover{border-color:#C2410C;box-shadow:0 2px 8px rgba(0,0,0,0.06)}.grant-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.grant-card__title{font-weight:600;line-height:1.3}.grant-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:#8A8170}.grant-card__client{font-weight:500;color:#1F1B16}.grant-card__sep{color:#DCD5C4}.grant-card__scope{margin:8px 0 0;font-size:12px;color:#8A8170;line-height:1.4}.grant-card__foot{margin-top:8px}.doc-check-group{margin-bottom:12px}.doc-check-group>strong{display:block;margin-bottom:4px}.doc-check{display:inline-flex;align-items:center;gap:6px;margin:0 12px 6px 0;font-size:12px;cursor:pointer}.ann-row{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 6px 6px 0}.ann-row .field__input{font-size:12px}.ann-row__year{width:80px}.grant-filters{display:flex;flex-direction:column;gap:8px}.grant-typechips{display:flex;flex-wrap:wrap;gap:6px}.grant-typechip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid #DCD5C4;border-radius:999px;background:#FAF7F0;font-size:11px;color:#1F1B16;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s}.grant-typechip:hover{border-color:#8A8170;text-decoration:none;color:#1F1B16}.grant-typechip--active{background:#0F0C09;border-color:#0F0C09;color:#fff}.grant-typechip--active:hover{color:#fff}.grant-status-form{display:flex;gap:6px;flex-wrap:wrap}.grant-link-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.grant-link-form__select{min-width:240px;flex:1 1 240px}.grant-conflict__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.grant-conflict__opt{display:block;margin-top:6px;font-size:12px}.client-group__title{margin:12px 0 4px;font-size:12px;color:#8A8170}.split-view{display:flex;gap:16px;align-items:stretch;height:100%;padding:20px;box-sizing:border-box}.split-aside{flex:0 0 260px;width:260px;display:flex;flex-direction:column;min-height:0}.split-aside__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.split-aside__head h2{margin:0;font-size:16px}.split-aside__search{margin-bottom:8px}.split-search{width:100%;box-sizing:border-box;padding:7px 11px;font-size:12px;border:1px solid #DCD5C4;border-radius:10px;background:#FAF7F0;color:inherit}.split-search::placeholder{color:#8A8170}.split-search:focus{outline:none;border-color:#C2410C}.split-list{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow-y:auto;border:1px solid #DCD5C4;border-radius:10px;background:#FAF7F0;padding:4px}.split-list__group{margin:8px 8px 2px;font-size:11px;font-weight:600;color:#8A8170;display:flex;align-items:center;gap:5px}.split-list__group:first-child{margin-top:4px}.split-item{display:block;padding:8px 12px;border-radius:6px;text-decoration:none;color:inherit;transition:background-color .1s}.split-item:hover{background:#F5F1E6}.split-item--active{background:#FCEAD4}.split-item--active:hover{background:#FCEAD4}.split-item__name{display:flex;align-items:center;gap:5px;font-weight:600}.split-item__meta{display:block;font-size:11px;color:#8A8170;margin-top:1px}.split-item__sub{display:block;font-size:11px;color:#B8B0A0;margin-top:1px;font-variant-numeric:tabular-nums}.split-main{flex:1 1 auto;min-width:0;overflow-y:auto;scrollbar-width:thin}.split-main::-webkit-scrollbar{width:6px;height:6px}.split-main::-webkit-scrollbar-thumb{background:#DCD5C4;border-radius:3px}.status-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--status-color,#6B7280)}.client-overview{display:flex;flex-wrap:wrap;gap:16px;padding:12px 16px;border:1px solid #DCD5C4;border-radius:10px;background:#FAF7F0;margin-bottom:12px}.client-overview__stat{display:flex;flex-direction:column}.client-overview__num{font-size:20px;font-weight:700}.client-overview__num small{font-size:12px;font-weight:500;margin-left:1px}.client-overview__label{font-size:11px;color:#8A8170}@media (max-width:860px){.page-shell__body--split{overflow-y:auto}.split-view{flex-direction:column;height:auto}.split-aside{flex-basis:auto;width:100%}.split-list{flex:none;max-height:320px}.split-main{overflow:visible}}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:11px;line-height:1.4;color:#8A8170}.breadcrumb__crumb{color:#8A8170;text-decoration:none}.breadcrumb__crumb:hover{color:#1F1B16;text-decoration:underline}.breadcrumb__crumb--section{cursor:default}.breadcrumb__crumb--section:hover{text-decoration:none;color:#8A8170}.breadcrumb__crumb--current{color:#1F1B16;font-weight:600;cursor:default}.breadcrumb__crumb--current:hover{text-decoration:none;color:#1F1B16}.breadcrumb__sep{color:#B8B0A0}[x-cloak]{display:none!important}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px}.modal__overlay{position:absolute;inset:0;background:rgba(15,12,9,0.45)}.modal__dialog{position:relative;width:100%;max-width:420px;background:#FAF7F0;border:1px solid #DCD5C4;border-radius:10px;box-shadow:0 12px 32px rgba(31,27,22,0.1);padding:16px 16px 12px}.modal__title{margin:0 0 8px;font-size:16px;font-weight:700;color:#0F0C09}.modal__message{margin:0 0 16px;font-size:12px;line-height:1.55;color:#1F1B16;white-space:pre-line}.modal__actions{display:flex;justify-content:flex-end;gap:8px}.btn--danger{background:#DC2626;border-color:#DC2626;color:#fff}.btn--danger:hover{background:color-mix(in srgb,#DC2626 88%,#000);border-color:color-mix(in srgb,#DC2626 88%,#000);color:#fff}.quote-editor__cols{display:flex;gap:20px;align-items:flex-start}.quote-editor__form{flex:1 1 0;min-width:0}.quote-editor__resizer{flex:0 0 10px;align-self:stretch;cursor:col-resize;position:relative;border-radius:3px}.quote-editor__resizer::before{content:"";position:absolute;top:0;bottom:0;left:4px;width:2px;background:#E5DFCF;border-radius:2px}.quote-editor__resizer:hover::before{background:#8A8170}.quote-editor__preview{flex:0 0 480px;position:sticky;top:0;align-self:flex-start;min-width:0}.quote-editor__preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.quote-editor__preview-label{font-size:12px;font-weight:600;color:#8A8170;letter-spacing:.04em}.quote-preview{background:#ececec;border:1px solid #E5DFCF;border-radius:10px;padding:14px;max-height:calc(100vh - 150px);overflow:auto}.qpaper--preview{zoom:0.6;margin:0;min-height:0;box-shadow:0 1px 8px rgba(0,0,0,0.14)}.qsource{position:absolute;left:-100000px;top:0;width:210mm}.qpages{display:flex;flex-direction:column;align-items:center;gap:12px}.qpaper--page{min-height:297mm;margin:0}.qcont{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:600;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid var(--line)}@media (max-width:1180px){.quote-editor__cols{flex-direction:column}.quote-editor__preview{position:static;flex-basis:auto;width:100%;max-width:480px}}.company-asset{display:inline-flex;flex-direction:column;gap:4px;margin-bottom:8px;padding:10px 14px;background-color:#f4f4f2;background-image:linear-gradient(45deg,#e9e9e6 25%,transparent 25%),linear-gradient(-45deg,#e9e9e6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e9e9e6 75%),linear-gradient(-45deg,transparent 75%,#e9e9e6 75%);background-size:14px 14px;background-position:0 0,0 7px,7px -7px,-7px 0;border:1px solid #E5DFCF;border-radius:10px}.company-asset__tag{font-size:11px;color:#8A8170;font-weight:600}.company-asset img{max-height:64px;max-width:220px;object-fit:contain}.quote-ai{border:1px solid #C2410C;border-radius:10px;background:#FCEAD4;padding:12px 14px}.quote-ai__head{margin:0}.quote-ai__toggle{background:none;border:0;padding:0;font:inherit;font-weight:700;color:#0F0C09;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.quote-ai__caret{font-size:10px;color:#8A8170}.quote-ai__body{margin-top:8px}.quote-ai__brief{width:100%;resize:vertical}.quote-ai__actions{display:flex;align-items:center;gap:12px;margin-top:8px}.quote-ai__error{font-size:12px;color:#b02a2a}.quote-ai__sow{display:inline-flex;align-items:center;gap:5px;font-size:12px;cursor:pointer}.radio-inline ul{list-style:none;margin:0;padding:0;display:flex;gap:14px}.radio-inline li{display:flex;align-items:center;gap:4px}.radio-inline label{display:inline-flex;align-items:center;gap:4px;font-size:12px;cursor:pointer}.quote-editor__bar{display:flex;justify-content:flex-end;margin-bottom:8px}.group-block{border:1px solid #E5DFCF;border-radius:10px;padding:10px 12px;margin-bottom:12px;background:rgba(0,0,0,0.015);transition:background .12s,box-shadow .12s}.group-block--drop{background:#FCEAD4;box-shadow:inset 0 0 0 2px #C2410C}.group-block .qgrip-cell{text-align:center;padding:0}.group-block .qgrip{display:inline-block;cursor:grab;color:#8A8170;font-size:13px;line-height:1;user-select:none}.group-block .qgrip:active{cursor:grabbing}.group-block tr[draggable="true"]{cursor:default}.group-block tr.qrow--dragging{opacity:.4}.group-block__head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.group-block__name{flex:0 0 200px;font-weight:600}.group-block__head .spacer{flex:1}.group-block__ord{display:inline-flex;gap:2px}.group-block__ord .btn{padding:2px 7px;line-height:1}.quote-items-wrap{overflow-x:auto}.quote-items{min-width:700px}.quote-items .field__input{width:100%;padding:4px 6px;font-size:12px}.quote-items input[type="number"]{text-align:right;padding-right:7px}.quote-items td{vertical-align:middle}.quote-totals{max-width:420px;margin-left:auto}.quote-totals__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #E5DFCF}.quote-totals__row--total{border-bottom:0;border-top:2px solid #0F0C09;font-size:16px}.quote-totals__row--total strong{color:#0F0C09}.quote-print-body{margin:0;background:#e7e6e3;-webkit-print-color-adjust:exact;print-color-adjust:exact}.quote-toolbar{position:sticky;top:0;z-index:50;display:flex;gap:8px;justify-content:center;padding:12px 20px;background:rgba(20,20,20,0.92)}.qpaper{--ink:#0a0a0a;--muted:#9a9a9a;--faint:#bdbdbd;--line:#ececec;--line-strong:#0a0a0a;--seal:#c8202a;position:relative;width:210mm;min-height:297mm;margin:24px auto;padding:16mm 15mm;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,0.04),0 22px 60px -28px rgba(0,0,0,0.35);box-sizing:border-box;display:flex;flex-direction:column;color:var(--ink);font-family:'Pretendard',sans-serif;font-size:12px;font-feature-settings:"tnum";line-height:1.5}.qpaper .num{font-variant-numeric:tabular-nums}.qpaper .l{text-align:left}.qpaper .top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;border-bottom:2px solid var(--line-strong)}.qpaper .mark{display:flex;flex-direction:column;gap:12px}.qpaper .mark .logo{height:30px}.qpaper .mark .logo svg{height:30px;width:auto;display:block;fill:var(--ink)}.qpaper .mark .logo img{height:30px;width:auto;display:block}.qpaper .mark .tag{font-size:9px;letter-spacing:.18em;color:var(--muted);font-weight:600;text-transform:uppercase}.qpaper .title{text-align:right}.qpaper .title .ko{font-size:26px;font-weight:800;letter-spacing:.24em;padding-left:.24em;white-space:nowrap}.qpaper .title .en{font-size:9.5px;letter-spacing:.42em;color:var(--muted);font-weight:600;margin-top:5px;padding-left:.42em}.qpaper .title .docmeta{display:flex;gap:22px;justify-content:flex-end;margin-top:16px}.qpaper .title .docmeta .m{text-align:right}.qpaper .title .docmeta .m .k{font-size:7.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:600}.qpaper .title .docmeta .m .v{font-size:11.5px;font-weight:700;margin-top:3px;white-space:nowrap}.qpaper .info{display:grid;grid-template-columns:1.35fr 1.1fr auto;gap:0 40px;padding:20px 0;border-bottom:1px solid #e6e6e6;align-items:start}.qpaper .party .role{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:9px}.qpaper .party .nm{font-size:15px;font-weight:800}.qpaper .party .nm small{font-size:9.5px;font-weight:600;letter-spacing:.14em;color:var(--muted);margin-left:6px}.qpaper .kv{display:grid;grid-template-columns:48px 1fr;row-gap:3px;column-gap:10px;font-size:10px;line-height:1.45;margin-top:9px}.qpaper .kv dt{color:var(--faint);font-weight:500}.qpaper .kv dd{margin:0;color:#3a3a3a}.qpaper .client-attn{font-size:13px;font-weight:700;margin-top:5px}.qpaper .client-attn b{font-weight:800}.qpaper .client-sub{font-size:10px;color:var(--muted);margin-top:8px;line-height:1.5}.qpaper .sealcol{display:flex;flex-direction:column;align-items:center;gap:9px;align-self:center}.qpaper .sealcol .seal{width:62px;height:62px;display:flex;align-items:center;justify-content:center}.qpaper .sealcol .seal svg{width:100%;height:100%;display:block}.qpaper .sealcol .seal svg path{fill:var(--seal)}.qpaper .sealcol .seal img{max-width:100%;max-height:100%}.qpaper .sealcol .seal-cap{font-size:7.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-weight:600;white-space:nowrap}.qpaper .tablewrap{margin-top:22px}.qpaper .flex-spacer{flex:1 1 auto;min-height:14px}.qpaper table{width:100%;border-collapse:collapse}.qpaper thead th{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:right;padding:0 0 10px;border-bottom:1.5px solid var(--line-strong)}.qpaper thead th.l{text-align:left}.qpaper tbody td{padding:14px 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:right}.qpaper tbody td.l{text-align:left}.qpaper tbody tr{break-inside:avoid}.qpaper .idx{font-size:10px;color:var(--faint);width:24px}.qpaper .cat{font-size:12.5px;font-weight:700;line-height:1.35}.qpaper .det{font-size:10px;color:#8a8a8a;line-height:1.45;margin-top:3px}.qpaper .mono{font-size:11.5px;white-space:nowrap}.qpaper .mono.supply{font-weight:700}.qpaper td.qty{width:46px}.qpaper td.unit{width:84px}.qpaper td.sup{width:96px}.qpaper td.tax{width:84px}.qpaper thead th.gcol-h{width:128px}.qpaper td.gcol{width:128px;vertical-align:top;padding:14px 16px 14px 0;border-right:1px solid var(--line);border-bottom:1.5px solid var(--ink)}.qpaper td.gcol .gc-t{font-size:13px;font-weight:800;line-height:1.3}.qpaper td.gcol .gc-sum{font-size:9.5px;color:var(--muted);margin-top:8px;font-variant-numeric:tabular-nums;font-weight:600}.qpaper td.gcol .gc-sum span{display:block;font-size:7.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:2px}.qpaper tbody tr.gr td{border-bottom:1px solid var(--line);padding:10px}.qpaper tbody tr.gr.glast td{border-bottom:1.5px solid var(--ink)}.qpaper .scope{margin-top:22px;padding-top:16px;border-top:1px solid #e6e6e6;break-inside:avoid}.qpaper .scope .scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}.qpaper .scope .sc-h{font-size:10px;font-weight:800;color:var(--ink);margin-bottom:10px;display:flex;align-items:baseline;gap:7px}.qpaper .scope .sc-h span{font-size:7.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:600;white-space:nowrap}.qpaper .scope ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}.qpaper .scope li{font-size:10px;line-height:1.5;color:#3a3a3a;padding-left:15px;position:relative}.qpaper .scope li::before{content:"+";position:absolute;left:0;top:-.5px;color:var(--ink);font-weight:700}.qpaper .scope .excl li{color:#8a8a8a}.qpaper .scope .excl li::before{content:"\2013";color:var(--faint)}.qpaper .scope .sc-assume{margin-top:16px}.qpaper .scope .sc-assume ol{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:5px}.qpaper .scope .sc-assume li{font-size:9.5px;color:#6a6a6a;line-height:1.5;padding-left:2px}.qpaper .foot{margin-top:auto;padding-top:18px;border-top:1px solid #e6e6e6;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;break-inside:avoid}.qpaper .terms{font-size:9px;color:var(--muted);line-height:1.7;max-width:330px}.qpaper .terms .th{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:6px}.qpaper .terms ol{margin:0}.qpaper .terms .note{margin-top:10px;color:var(--faint)}.qpaper .totals{min-width:280px}.qpaper .totrow{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;font-size:11px}.qpaper .totrow .tk{color:var(--muted);letter-spacing:.02em;white-space:nowrap}.qpaper .totrow .tv{font-weight:600;white-space:nowrap}.qpaper .totrow.disc .tk,.qpaper .totrow.disc .tv{color:#b02a2a}.qpaper .grand{margin-top:10px;background:var(--ink);color:#fff;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px}.qpaper .grand>div:first-child{flex:1 1 auto;min-width:0}.qpaper .grand .gk{font-size:9px;text-transform:uppercase;color:rgba(255,255,255,0.6);font-weight:600}.qpaper .grand .gko{font-size:12px;font-weight:700;margin-top:4px;white-space:nowrap;overflow:hidden}.qpaper .grand .gv{flex:0 0 auto;font-size:24px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}.qpaper .grand .gv small{font-size:12px;font-weight:600;margin-right:3px;color:rgba(255,255,255,0.7)}.qpaper .sow-h{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);font-weight:700;margin-bottom:4px}.qpaper .sow-title{font-size:19px;font-weight:800;letter-spacing:.02em;padding-bottom:16px;border-bottom:2px solid var(--line-strong)}.qpaper .sow-sec{margin-top:20px;break-inside:avoid}.qpaper .sow-sec>.s-h{font-size:11px;font-weight:800;margin-bottom:9px;display:flex;align-items:baseline;gap:8px}.qpaper .sow-sec>.s-h span{font-size:7.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:600}.qpaper .sow-sec .s-body{font-size:10.5px;line-height:1.65;color:#3a3a3a}.qpaper .sow-area{display:grid;grid-template-columns:120px 1fr;gap:6px 16px;padding:9px 0;border-bottom:1px solid var(--line)}.qpaper .sow-area .a-name{font-size:11px;font-weight:700}.qpaper .sow-area ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}.qpaper .sow-area li{font-size:10px;color:#3a3a3a;padding-left:13px;position:relative}.qpaper .sow-area li::before{content:"·";position:absolute;left:3px;color:var(--muted)}.qpaper .sow-list{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:4px;font-size:10px;color:#3a3a3a}.qpaper .sow-table{width:100%;border-collapse:collapse;margin-top:4px}.qpaper .sow-table th{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left;padding:6px 0;border-bottom:1.5px solid var(--line-strong)}.qpaper .sow-table td{font-size:10.5px;padding:9px 0;border-bottom:1px solid var(--line)}.qpaper .sow-table td.r,.qpaper .sow-table th.r{text-align:right}.qpaper+.qpaper{margin-top:0}.page-guide{position:absolute;left:0;right:0;border-top:1px dashed #d23;pointer-events:none;z-index:5}.page-guide__lbl{position:absolute;right:0;top:-9px;background:#d23;color:#fff;font-size:9px;font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:3px 3px 0 0}.qpaper .qpagefoot{position:absolute;left:15mm;right:15mm;bottom:8mm;display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:.04em;color:var(--faint);border-top:1px solid var(--line);padding-top:3px}.qpaper .qpagefoot__id{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qpaper .qpagefoot__num{flex:0 0 auto;font-variant-numeric:tabular-nums}@media print{.no-print{display:none!important}.quote-print-body{background:#fff}.qsource{display:none!important}.qpages{display:block}.qpaper{margin:0;box-shadow:none}.qpaper+.qpaper{page-break-before:always}.qpaper thead{display:table-header-group}.qpaper tbody tr,.qpaper .scope,.qpaper .foot,.qpaper .sow-sec{break-inside:avoid}.qpaper .grand{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4;margin:0}}