html.frameflow-widget-view,html.frameflow-widget-view body,html.frameflow-widget-view #root{background:transparent;min-width:0;width:100%;height:100%;overflow:hidden}.ff-widget.widget{--ff-widget-base: 22 30 41;--ff-widget-accent: 204 223 244;--ff-widget-opacity: .18;--ff-widget-text: #f8fbff;--ff-widget-muted: #e0e9f3;--ff-widget-mint: rgb(var(--ff-widget-accent));--ff-widget-line: rgba(240, 250, 255, .18);position:relative;isolation:isolate;display:flex;flex-direction:column;width:100%;height:100dvh;min-width:0;overflow:hidden;color:var(--ff-widget-text);background:rgb(var(--ff-widget-base) / var(--ff-widget-opacity));border:1px solid rgba(245,250,255,.32);border-radius:18px;box-shadow:inset 0 1px #f5faff2e,0 9px 32px #050d1826;text-shadow:0 1px 3px rgba(0,0,0,.85);font-family:Inter,Noto Sans KR,Noto Sans JP,Segoe UI,sans-serif;font-size:13px}html.frameflow-widget-view[data-widget-material=solid] .ff-widget.widget{background:rgb(var(--ff-widget-base));backdrop-filter:none}.ff-widget[data-theme=emerald]{--ff-widget-base: 17 43 34;--ff-widget-accent: 177 238 207}.ff-widget[data-theme=blue]{--ff-widget-base: 15 35 59;--ff-widget-accent: 183 218 255}.ff-widget[data-theme=violet]{--ff-widget-base: 37 28 58;--ff-widget-accent: 224 202 255}.ff-widget[data-theme=rose]{--ff-widget-base: 52 27 38;--ff-widget-accent: 255 202 217}.ff-widget button{-webkit-app-region:no-drag;border:0;cursor:pointer;font:inherit;color:inherit;flex-shrink:0;touch-action:manipulation;transition:background .15s,border-color .15s,color .15s}.ff-widget button:disabled{opacity:.5;cursor:wait}.ff-widget button:focus-visible{outline:2px solid #c4ffe6;outline-offset:-3px}.ff-widget svg{flex-shrink:0}.ff-widget-header{display:flex;align-items:center;gap:4px;padding:7px 8px 3px 15px;min-height:54px;flex-shrink:0}.ff-widget-brand{-webkit-app-region:drag;align-self:stretch;display:flex;align-items:center;gap:7px;flex:1;min-width:0;color:var(--ff-widget-mint)}.ff-widget-brand span{font-family:Segoe UI,sans-serif;font-size:13px;font-weight:600;letter-spacing:-.35px}.ff-widget-window-controls{display:flex;gap:0;-webkit-app-region:no-drag}.ff-widget-icon-button{width:44px;height:44px;border-radius:10px;padding:0;color:#eef5ff!important}.ff-widget-icon-button svg,.ff-widget-date-line svg,.ff-widget-brand svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.65))}.ff-widget-pin-active{color:rgb(var(--ff-widget-accent))!important;background:rgb(var(--ff-widget-base) / .24)}.ff-widget-icon-button:hover{background:#d2ffe71a;color:#f0fff7!important}.ff-widget-close:hover{background:#f19fa329;color:#ffd2d0!important}.ff-widget-overview{padding:7px 17px 17px;flex-shrink:0}.ff-widget-date-line{display:flex;align-items:center;gap:7px;color:var(--ff-widget-muted);font-size:11px;line-height:1.5}.ff-widget-date-line svg{color:var(--ff-widget-muted)}.ff-widget-date-line>span{margin-left:auto;font-size:10px;color:var(--ff-widget-muted)}.ff-widget-heading-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px}.ff-widget-title{display:flex;align-items:center;gap:9px;min-width:0}.ff-widget-title h1{margin:0;font-size:22px;line-height:1.5;letter-spacing:-.8px;font-weight:600;white-space:nowrap}.ff-widget-count{border:1px solid rgba(233,246,255,.25);background:rgb(var(--ff-widget-base) / .18);border-radius:6px;padding:1px 6px;color:var(--ff-widget-text);font-size:11px;font-variant-numeric:tabular-nums}.ff-widget-add{min-height:44px;padding:9px 12px;border-radius:10px;background:rgb(var(--ff-widget-accent))!important;color:#1d2939!important;gap:5px;font-size:11px!important;font-weight:600!important;white-space:nowrap;box-shadow:inset 0 1px #fff6;text-shadow:none}.ff-widget-add:hover{background:rgb(var(--ff-widget-accent) / .9)!important}.ff-widget-add:focus-visible{outline-color:#effff6!important;outline-offset:2px!important}.ff-widget-summary{display:flex;align-items:center;flex-wrap:wrap;column-gap:13px;row-gap:4px;margin-top:13px;font-size:10px;color:var(--ff-widget-muted)}.ff-widget-summary strong{color:var(--ff-widget-text);font-weight:600;margin-left:3px}.ff-widget-summary-late,.ff-widget-summary-late strong{color:#ffcebf}.ff-widget-sort{margin-left:auto;color:var(--ff-widget-muted);font-size:10px}.ff-widget-scroll-area{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 12px 8px;scrollbar-width:thin;scrollbar-color:rgba(172,214,192,.35) transparent}.ff-widget-scroll-area::-webkit-scrollbar{width:5px}.ff-widget-scroll-area::-webkit-scrollbar-thumb{border-radius:5px;background:#acd6c059}.ff-widget-projects{display:flex;flex-direction:column;gap:9px}.ff-widget .ff-widget-project{display:block;width:100%;min-width:0;padding:13px 12px 9px;border:1px solid rgba(240,250,255,.23);border-radius:12px;background:linear-gradient(135deg,rgb(var(--ff-widget-base) / .27),rgb(var(--ff-widget-base) / .16));box-shadow:inset 0 1px #f4fff912,0 2px 8px #0000000d}.ff-widget .ff-widget-project-late{border-color:#ffbeaa38}.ff-widget-project-heading{display:flex;align-items:flex-start;gap:11px}.ff-widget-project-open{display:flex;flex:1;min-width:0;min-height:44px;align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:4px!important;text-align:left;padding:0;background:transparent;border-radius:4px}.ff-widget-project-open strong{font-size:13px;font-weight:600;line-height:1.55;color:#f1fcf5;overflow-wrap:anywhere;width:100%}.ff-widget-project-open>span{font-size:10px;line-height:1.55;color:var(--ff-widget-muted);overflow-wrap:anywhere;width:100%}.ff-widget-project-open:hover strong{color:rgb(var(--ff-widget-accent))}.ff-widget-project-deadline{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-top:1px}.ff-widget-deadline{display:inline-flex;align-items:center;font-size:10px;line-height:1.5;font-weight:500;padding:3px 7px;border-radius:6px;white-space:nowrap;color:#d6e7db;background:#d6edde17}.ff-widget-deadline-soon{color:#ffdfb1;background:#efc0701c}.ff-widget-deadline-late{color:#ffd2c4;background:#eb987a24}.ff-widget-project-deadline time{color:var(--ff-widget-muted);font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.ff-widget-project-actions{display:flex;align-items:stretch;gap:6px;margin-top:11px;padding-top:8px;border-top:1px solid rgba(212,249,229,.08)}.ff-widget-state-button{min-width:0;min-height:44px;flex:1 1 0;border-radius:8px;padding:8px 5px;gap:6px!important;font-size:11px!important;white-space:nowrap;background:rgb(var(--ff-widget-base) / .16);text-shadow:inherit}.ff-widget-unpaid{color:#eed8b7!important}.ff-widget-unpaid-dot{width:5px;height:5px;border-radius:50%;background:#d9bd90;flex-shrink:0}.ff-widget-paid{color:#b5eacc!important;background:#81e1a514}.ff-widget-deliver{color:#eef7ff!important}.ff-widget-state-button:hover{background:#d3fde221}.ff-widget-detail-button{min-width:44px;min-height:44px;width:44px;padding:0;border-radius:8px;color:var(--ff-widget-text)!important}.ff-widget-detail-button:hover{background:#d3fde21a}.ff-widget .ff-widget-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:230px;height:100%;padding:26px 8px 32px;text-align:center;color:var(--ff-widget-text);font-size:13px}.ff-widget-empty-icon{width:62px;height:62px;display:flex;align-items:center;justify-content:center;color:rgb(var(--ff-widget-accent));border:1px solid rgba(240,250,255,.25);border-radius:18px;background:rgb(var(--ff-widget-base) / .14);margin-bottom:19px;box-shadow:inset 0 1px #e1ffee14}.ff-widget-empty h2{margin:0;font-size:14px;font-weight:500;letter-spacing:-.3px;line-height:1.6}.ff-widget-empty p{margin:9px 0 0;color:var(--ff-widget-muted);font-size:11px;line-height:1.9}.ff-widget-empty-action{min-height:44px;margin-top:19px;padding:9px 12px;border:1px solid rgba(235,245,255,.3)!important;background:rgb(var(--ff-widget-base) / .18);border-radius:9px;font-size:11px!important;color:var(--ff-widget-text)!important;text-shadow:inherit}.ff-widget-empty-action:hover{background:#b1efcb21}.ff-widget-notice .ff-widget-empty-icon{color:#ebd9b7}.ff-widget-footer{flex-shrink:0;border-top:1px solid var(--ff-widget-line);padding:6px 12px 6px 17px;background:rgb(var(--ff-widget-base) / .06)}.ff-widget-sync-line{display:flex;gap:10px;min-height:44px;align-items:center;justify-content:space-between}.ff-widget-sync-state{min-width:0;flex:1;display:flex;align-items:center;gap:7px;font-size:10px;line-height:1.5;color:var(--ff-widget-muted);overflow-wrap:anywhere}.ff-widget-mode-chip{min-width:44px;min-height:44px;padding:6px;border-radius:8px;gap:5px!important;font-size:9px!important;color:var(--ff-widget-text)!important;text-shadow:inherit;white-space:nowrap}.ff-widget-mode-chip:hover{background:rgb(var(--ff-widget-base) / .18)}.ff-widget-mode-failed{color:#ffcfbf!important}.ff-widget-sync-dot{width:5px;height:5px;background:#9dddb9;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px #9dddb90f}.ff-widget-sync-pending .ff-widget-sync-dot{background:#e5c995;box-shadow:none}.ff-widget-sync-error{color:#ffd1c8}.ff-widget-sync-error .ff-widget-sync-dot{background:#efb09f;box-shadow:none}.ff-widget-refresh{min-width:44px;min-height:44px;padding:0;border-radius:9px;color:var(--ff-widget-muted)!important}.ff-widget-refresh:hover{background:#cdf9db14}.ff-widget-error{display:flex;align-items:flex-start;gap:7px;color:#ffd6cd;padding:9px 0 5px;font-size:11px;line-height:1.65}.ff-widget-error>span{min-width:0;overflow-wrap:anywhere}.ff-widget-error svg{margin-top:2px}.ff-widget-retry{width:100%;min-height:44px;margin:5px 0;padding:9px;border-radius:8px;border:1px solid rgba(240,198,172,.2)!important;color:#ffddc7!important;background:#ce976514;font-size:11px!important}.ff-widget-retry:hover{background:#ce976529}.ff-widget-spinner{animation:ff-widget-spin 1.1s linear infinite}@keyframes ff-widget-spin{to{transform:rotate(360deg)}}html.frameflow-widget-view .overlay{padding:8px;background:#05161194}html.frameflow-widget-view .dialog{max-width:100%;padding:20px 16px;max-height:calc(100dvh - 16px)}html.frameflow-widget-view .dialog-head{margin-bottom:19px}html.frameflow-widget-view .dialog h2{font-size:21px}html.frameflow-widget-view .dialog .form-grid{gap:13px 10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}html.frameflow-widget-view .dialog label{min-width:0}html.frameflow-widget-view .dialog input,html.frameflow-widget-view .dialog select,html.frameflow-widget-view .dialog textarea{min-width:0;max-width:100%}html.frameflow-widget-view .dialog-footer{gap:6px;flex-wrap:wrap}html.frameflow-widget-view .dialog-footer .primary,html.frameflow-widget-view .dialog-footer .secondary,html.frameflow-widget-view .dialog-footer .danger{padding:9px 11px;min-height:44px}html.frameflow-widget-view .dialog .section-line{gap:10px;flex-wrap:wrap}html.frameflow-widget-view .dialog .inline-form{flex-wrap:wrap}html.frameflow-widget-view .dialog .inline-form button{min-height:44px}html.frameflow-widget-view .dialog .privacy,html.frameflow-widget-view .dialog .owner-banner{overflow-wrap:anywhere}@media(max-width:325px){.ff-widget-header{padding-left:11px;padding-right:4px}.ff-widget-brand{gap:5px}.ff-widget-brand span{font-size:11px}.ff-widget-brand svg{width:16px;height:16px}.ff-widget-overview{padding-left:13px;padding-right:13px}.ff-widget-title{gap:6px}.ff-widget-title h1{font-size:20px}.ff-widget-heading-row{gap:6px}.ff-widget-add{padding-left:9px;padding-right:9px}.ff-widget .ff-widget-project{padding-left:10px;padding-right:10px}.ff-widget-project-heading{gap:8px}.ff-widget-state-button{font-size:10px!important;gap:4px!important}.ff-widget-sort{font-size:9px}html.frameflow-widget-view .dialog .form-grid>label:not(.check-label){grid-column:span 2}}@media(prefers-reduced-motion:reduce){.ff-widget button{transition:none}.ff-widget-spinner{animation:none}}@media(max-width:390px){html.frameflow-widget-view .dialog .form-grid>label:not(.check-label){grid-column:span 2}}.settings-dialog button{min-height:44px}.settings-dialog .icon-button{min-width:44px;min-height:44px}.widget-preferences h3{color:#344b5b}.widget-preference-label{display:flex;align-items:center;gap:7px;margin:15px 0 9px;font-size:12px;color:#718391}.widget-preference-gap{margin-top:24px}.widget-mode-options{display:flex;flex-direction:column;gap:7px}.widget-mode-options>button{display:flex;align-items:center;justify-content:flex-start;min-height:63px;width:100%;padding:11px;border:1px solid #e2e9ef;border-radius:9px;gap:10px;text-align:left;color:#668092}.widget-mode-options>button>span{flex:1;min-width:0}.widget-mode-options strong{display:block;color:#41576a;font-size:12px;font-weight:600;line-height:1.6}.widget-mode-options small{display:block;font-size:10px;color:#889aa8;line-height:1.7;margin-top:2px;overflow-wrap:anywhere}.widget-mode-options>button:hover{background:#f7f9fb}.widget-mode-options>button.selected{border-color:#8daac0;background:#f0f5f9;color:#4b718b}.widget-mode-options>button>svg{flex-shrink:0}.widget-effective-mode{margin-top:11px;margin-bottom:0!important}.widget-effective-mode strong{color:#688399;font-weight:500}.widget-settings-error{flex-wrap:wrap}.widget-settings-error>span{width:100%}.widget-settings-error button{font-size:11px}.widget-theme-options{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:6px}.widget-theme-options>button{flex-direction:column;gap:5px;min-width:44px;min-height:64px;padding:8px 0;border:1px solid #e3eaf0;border-radius:9px;color:#6c8192;background:#fff;font-size:10px}.widget-theme-options>button:hover{background:#f5f8fa}.widget-theme-options>button.selected{border-color:#8daac0;background:#f1f5f8;color:#405d74}.widget-theme-swatch{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#34516a;box-shadow:inset 0 0 0 1px #00000008}.widget-opacity-control{margin-top:22px;gap:5px}.widget-opacity-control>span{display:flex;align-items:center;gap:10px}.widget-opacity-control output{margin-left:auto;color:#4e6d85;font-variant-numeric:tabular-nums}.widget-opacity-control input[type=range]{width:100%;min-height:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;accent-color:#718fa8;cursor:pointer}.widget-opacity-control input[type=range]:focus-visible{outline:2px solid #829fb6;outline-offset:1px}.widget-opacity-note{margin-top:1px;margin-bottom:0!important;font-size:10px!important}.widget-size-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.widget-size-options>button{min-width:44px;min-height:58px;flex-direction:column;gap:3px;padding:7px 5px;border:1px solid #e3eaf0;border-radius:8px;font-size:11px;color:#5f778b}.widget-size-options>button.selected{border-color:#8daac0;background:#f1f5f8}.widget-size-options>button small{display:block;color:#8a9caa;font-size:9px;font-variant-numeric:tabular-nums}.widget-size-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.widget-size-inputs label,.widget-size-inputs input{min-width:0}.widget-size-apply{width:100%;margin:10px 0 8px}.widget-settings-status{min-height:19px;margin-top:12px;margin-bottom:0!important;font-size:10px!important;color:#5c8492}.widget-preferences-dialog .settings-section:first-of-type{padding-top:0}.widget-preferences-dialog .dialog-head{margin-bottom:19px}:root{font-family:Inter,Noto Sans KR,Noto Sans JP,Segoe UI,sans-serif;color:#21323e;background:#f5f7fa;font-synthesis:none;font-size:14px;--ink:#152c39;--mint:#77dec3;--muted:#7a8794;--border:#e7ecf1}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #39ad93;outline-offset:3px}input:focus,select:focus,textarea:focus{border-color:#39ad93;outline:2px solid #39ad9320}button{border:0;background:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .15s}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1.1px;line-height:1.5}h2{font-size:24px;letter-spacing:-.7px}h3{font-size:16px}p{line-height:1.7}small{font-size:12px;line-height:1.7}.muted{color:var(--muted)}.tiny{color:var(--muted);font-size:12px;line-height:1.8}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;color:#83939e;display:block;margin-bottom:7px}.primary,.secondary,.danger{min-height:43px;padding:10px 16px;border-radius:7px;font-weight:600}.primary{background:var(--ink);color:#fff}.primary:hover{background:#294958}.secondary{border:1px solid #dce4eb;background:#fff}.secondary:hover{background:#f3f6f8}.danger{background:#b83b46;color:#fff}.text-button{min-height:38px;padding:5px 7px;font-size:13px}.text-button:hover{background:#edf2f5;border-radius:5px}.icon-button{padding:8px;min-width:34px;min-height:34px;border-radius:6px;flex-shrink:0}.icon-button:hover{background:#ecf1f4}.red{color:#b83b46}.grow{flex:1}.full{width:100%}.app-shell{display:flex;min-height:100vh}.sidebar{width:222px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:32px 18px 0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-family:Segoe UI,sans-serif;font-size:23px;font-weight:700;letter-spacing:-.7px;color:var(--ink);padding:0 6px}.brand-icon{background:var(--ink);color:var(--mint);width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}.workspace-label{font-size:10px;color:#98a3ae;font-weight:600;letter-spacing:1.5px;margin:50px 12px 15px}.admin-label{margin-top:30px}.nav-item{width:100%;justify-content:flex-start;min-height:45px;border-radius:7px;padding:11px 13px;color:#758390;font-size:14px;gap:12px;margin-bottom:6px}.nav-item.active{background:#eaf6f2;color:#216552;font-weight:600}.nav-item:hover{background:#f0f5f6}.nav-item>span{margin-left:auto;font-size:12px;background:#fff8;padding:0 6px;border-radius:4px}.sidebar-bottom{margin-top:auto}.profile{margin-top:20px;padding:20px 0;border-top:1px solid var(--border);display:flex;align-items:center;gap:9px}.avatar{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e9f0f4;color:#496875;font-weight:600}.profile>div{min-width:0;flex:1}.profile strong{font-size:12px;display:block}.profile small{font-size:10px;color:#8d99a3;display:block;overflow:hidden;text-overflow:ellipsis}.main{margin-left:222px;min-width:0;flex:1}.topbar{height:74px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#fff9}.breadcrumb{display:flex;align-items:center;gap:12px;color:#99a4ad;font-size:12px}.breadcrumb strong{color:#536471;font-weight:500}.topbar-right{display:flex;align-items:center;gap:13px}.sync-state{font-size:11px;display:flex;align-items:center;gap:6px;color:#7e8e98;white-space:nowrap}.sync-state>span{width:5px;height:5px;background:#55ad91;border-radius:50%}.sync-state.error>span{background:#c35e66}.sync-state.saving>span,.sync-state.loading>span{background:#d2a142}.today-label{font-size:11px;color:#919da6;border-left:1px solid #dde5ea;padding-left:14px}.main-content{padding:34px 36px 22px;max-width:1700px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.page-heading h1{display:flex;align-items:center;gap:12px}.page-heading p{font-size:13px;color:#8a98a4;margin-top:4px}.count-chip{font-size:14px;font-weight:500;letter-spacing:0;border:1px solid #dee5eb;border-radius:6px;padding:2px 8px;line-height:1.5;color:#7f8e99}.stats{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:18px;margin-bottom:30px}.stat{background:#fff;border:1px solid var(--border);border-radius:10px;padding:19px 21px}.stat-label{font-size:12px;color:#778691;display:flex;justify-content:space-between;gap:12px}.stat-label svg{color:#a1aeb7;stroke-width:1.5}.stat-value{font-family:Segoe UI,sans-serif;font-size:31px;font-weight:600;letter-spacing:-.6px;margin:12px 0 3px;display:flex;align-items:center;gap:8px}.stat-value>span{font-size:13px;font-weight:400;color:#98a4ad}.stat p{font-size:11px;color:#9aa5ae}.stat-value .late-chip{font-size:10px;padding:4px 6px;border-radius:4px;color:#a04c50;background:#fcf0f0;margin-left:auto}.amount-stat .stat-value{font-size:28px}.project-layout{display:grid;grid-template-columns:minmax(0,1fr) 228px;gap:24px;align-items:start}.project-section{min-width:0;background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.project-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.tabs{display:flex;gap:4px}.tabs button{font-size:12px;min-height:35px;padding:7px 9px;border-radius:5px;color:#87949e;gap:6px;white-space:nowrap}.tabs .selected{background:#edf2f5;color:#2a4250;font-weight:600}.tabs span{font-size:10px;color:#7e8e99}.search-box{display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid #e3e9ee;border-radius:6px;color:#98a4ad;width:230px;height:36px}.search-box input{min-width:0;border:0;background:none;padding:0;outline:0;width:100%;font-size:11px;color:#536775}.search-box input::placeholder{color:#9ba7b1}.table-meta{display:flex;justify-content:space-between;padding:17px 20px;color:#a0abb4;font-size:11px}.table-meta span:last-child{display:flex;align-items:center;gap:5px}table{width:100%;border-collapse:collapse;table-layout:auto}th{background:#f9fbfc;color:#85939e;font-size:10px;font-weight:500;text-align:left;padding:13px 12px;border-top:1px solid #f0f3f6;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:20px 12px;border-bottom:1px solid #edf1f5;font-size:12px}th:first-child,td:first-child{padding-left:20px;width:32%}th:last-child,td:last-child{padding-right:14px;width:30px}tr:last-child td{border-bottom:0}.project-name{display:inline-block;text-align:left;justify-content:flex-start;padding:0;font-weight:600;font-size:13px;color:#344955;line-height:1.6;overflow-wrap:anywhere}.project-name:hover{color:#23886d}.client-name{color:#9aa5af;display:block;font-size:11px;margin-top:4px;overflow-wrap:anywhere}.date-text{font-family:Segoe UI,sans-serif;display:block;white-space:nowrap;font-size:12px;color:#607480;margin-bottom:6px}.deadline{font-size:10px;border-radius:4px;padding:3px 6px;white-space:nowrap;display:inline-flex;align-items:center;line-height:1.4}.deadline.soon{color:#a9782c;background:#fdf6e8}.deadline.late{color:#ad5055;background:#fceef0}.deadline.done{background:#edf5f2;color:#608a7b}.deadline.neutral{color:#8597a1;background:#f0f4f7}.status-button{font-size:10px;border-radius:5px;padding:5px 7px;min-height:32px;white-space:nowrap}.status-button.complete{background:#edf7f3;color:#518672}.status-button.pending{background:#f1f4f7;color:#8b9ba6}.status-button.unpaid{background:#fef3e9;color:#b68652}.status-button:hover{outline:1px solid currentColor}.align-right{text-align:right}.money{font-family:Segoe UI,sans-serif;white-space:nowrap;font-size:13px;font-weight:600;color:#4b6070}.currency-code{font-size:9px;display:block;color:#a9b3bc;margin-top:3px}.converted{font-size:9px;display:block;color:#8598a4;margin-top:3px;white-space:nowrap}.table-foot{border-top:1px solid var(--border);padding:14px 20px;display:flex;align-items:center;gap:6px;color:#a1aeb8;font-size:10px}.deadline-rail{background:#edf2f6;border:1px solid #e5ebf0;border-radius:10px;padding:21px 18px}.rail-head{display:flex;justify-content:space-between;align-items:center}.rail-head h3{font-size:13px}.rail-head svg{color:#99a9b5;stroke-width:1.5}.rail-subtitle{color:#9aa7b1;font-size:10px;margin-top:5px;margin-bottom:22px}.deadline-item{width:100%;justify-content:flex-start;align-items:stretch;text-align:left;gap:10px;padding:0 0 20px}.timeline{width:8px;flex-shrink:0;position:relative;display:flex;justify-content:center;padding-top:6px}.timeline-dot{width:6px;height:6px;border:1.5px solid #a2b6c3;border-radius:50%;background:#edf2f6;z-index:1}.timeline-dot.soon{border-color:#c9984e}.timeline-dot.late{border-color:#c05f66}.timeline-line{position:absolute;left:4px;top:13px;bottom:-3px;border-left:1px solid #d2dce4}.deadline-info{min-width:0}.deadline-info strong{display:block;font-size:12px;color:#4e6473;margin-top:8px;overflow-wrap:anywhere;line-height:1.6}.deadline-info>span:not(.deadline){display:block;font-size:10px;color:#98a6b2;margin-top:4px;overflow-wrap:anywhere}.deadline-info small{display:block;font-size:10px;color:#a2afbb;margin-top:6px}.rail-note{padding:17px 0;border-top:1px solid #dce4eb}.rail-note span,.rail-note strong,.rail-note small{display:block}.rail-note span{font-size:10px;color:#92a3af}.rail-note strong{font-family:Segoe UI,sans-serif;font-size:19px;font-weight:500;margin:7px 0;color:#526c7c}.rail-note small{font-size:9px;color:#97a7b3}.rail-empty{font-size:12px;color:#93a4af;margin:30px 0}.app-footer{margin-top:34px;display:flex;gap:16px;align-items:center;color:#a9b4bd;font-size:10px}.app-footer>span:first-child{font-family:Segoe UI,sans-serif;font-size:12px;font-weight:600;letter-spacing:-.4px}.empty{padding:75px 20px;text-align:center}.empty-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f2f6f8;color:#a1b4bf;border-radius:16px;margin:0 auto 18px}.empty h3{font-size:15px;color:#667e8c;font-weight:500}.empty p{font-size:12px;color:#a2afb9;margin:9px 0 20px}.mobile-cards,.mobile-settings{display:none}.overlay{position:fixed;inset:0;z-index:100;background:#10253180;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.dialog{background:#fff;border-radius:13px;width:520px;max-height:calc(100vh - 40px);overflow:auto;padding:26px;box-shadow:0 25px 80px #172b3b25}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.span2{grid-column:span 2}label{font-size:12px;color:#627783;display:flex;flex-direction:column;gap:7px}input,textarea,select{width:100%;border:1px solid #dce5eb;border-radius:6px;background:#fff;min-height:43px;padding:10px 11px;color:#304c5d}input[type=checkbox]{width:17px;min-height:17px;height:17px;accent-color:#2a8e72}.check-label{display:flex;flex-direction:row;align-items:center;gap:9px;padding:6px 0;min-height:40px}.dialog-footer{display:flex;gap:10px;margin-top:25px}.dialog form>.tiny{margin-top:17px}.error{color:#a6444d;background:#fceff0;padding:12px;border:1px solid #f0d6da;border-radius:6px;display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.7;margin-top:14px;overflow-wrap:anywhere}.error svg{flex-shrink:0;margin-top:2px}.main-error{margin:0 0 20px;align-items:center}.main-error span{flex:1}.success{background:#edf8f3;color:#3a7c61;border-radius:6px;padding:12px;margin:12px 0;display:flex;gap:9px;font-size:12px}.conflict{background:#f9f6e9;padding:15px;margin-top:15px;border-radius:7px;font-size:12px}.conflict p{margin:10px 0}.conflict button{margin-top:12px;display:flex}.delete-confirm{margin-top:20px;border:1px solid #f0d6da;background:#fff7f7;padding:16px;border-radius:6px;font-size:13px}.delete-confirm p{margin:12px 0}.delete-confirm button{margin-right:8px}.settings-section{border-bottom:1px solid var(--border);padding:20px 0}.settings-section:first-of-type{padding-top:0}.settings-section h3{display:flex;align-items:center;gap:9px;margin-bottom:10px}.settings-section p{margin-bottom:13px;font-size:12px}.settings-section .primary{margin-top:14px}.section-line{display:flex;align-items:center;justify-content:space-between}.inline-form{display:flex;gap:8px}.inline-form input{flex:1;min-width:0}.privacy{color:#92a1ab;font-size:10px;line-height:1.8;margin-top:20px}.settings-dialog>.privacy{display:flex;gap:6px}.settings-dialog>.privacy svg{flex-shrink:0}.owner-banner{background:#edf4f8;border-radius:6px;padding:12px;font-size:12px;margin-bottom:20px}.owner-banner strong{margin-left:10px}.owner-banner small{display:block;color:#8b9aa5;margin-top:4px}.owner-filter{padding:16px 20px;background:#f9fbfc;border-bottom:1px solid var(--border)}.owner-filter select{max-width:360px}.owner-filter p{margin-top:9px}.owner-text{font-size:11px;overflow-wrap:anywhere}.demo-banner{background:#f6f0d9;color:#968046;padding:10px 14px;display:flex;gap:12px;font-size:11px;border-radius:6px;margin-bottom:23px;flex-wrap:wrap}.demo-banner a{margin-left:auto;text-decoration:underline}.auth-layout{min-height:100vh;display:grid;grid-template-columns:45% 55%;background:#fff}.auth-side{background:var(--ink);padding:40px 50px;display:flex;flex-direction:column;color:#dde8ee}.auth-side .brand{color:#edf6f8}.auth-side .brand-icon{background:#ffffff12}.brand-small{font-size:9px;font-weight:400;letter-spacing:2px;color:#96aab4;margin-left:12px}.auth-intro{margin:auto 0;padding:45px 0}.auth-intro .eyebrow{color:#66b39f;font-size:10px}.auth-intro h1{font-size:38px;margin-top:18px;font-weight:500;letter-spacing:-1px;line-height:1.55}.auth-intro p{color:#93abb8;font-size:14px;line-height:1.9;margin-top:23px}.auth-frame{position:relative;height:175px;max-width:360px;margin-top:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#60868c;gap:20px}.auth-frame>span{font-size:10px;letter-spacing:1px;color:#7697a0}.frame-corner{position:absolute;border:1px solid #547580;width:25px;height:25px}.tl{left:0;top:0;border-right:0;border-bottom:0}.tr{right:0;top:0;border-left:0;border-bottom:0}.bl{left:0;bottom:0;border-right:0;border-top:0}.br{right:0;bottom:0;border-left:0;border-top:0}.auth-foot{font-size:11px;letter-spacing:.5px;color:#7694a4}.auth-main{display:flex;align-items:center;justify-content:center;padding:45px}.auth-card{width:370px;max-width:100%}.auth-card h2{font-size:28px;margin-bottom:12px}.auth-card>.muted{font-size:13px;margin-bottom:32px}.auth-card label{margin-bottom:19px}.auth-card form>.full{margin-top:14px}.auth-links{display:flex;justify-content:space-between;margin-top:14px;color:#80939e}.auth-links button{font-size:11px}.demo-link{display:block;font-size:12px;text-align:center;margin-top:22px;color:#3b8b76}.loading-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:25px}.widget{background:#f7f9fc;height:100vh;border:1px solid #dae5eb;border-radius:10px;overflow:hidden}.widget-head{display:flex;align-items:center;background:#152c39;color:#dbe7ed;padding:7px 9px}.widget-head .icon-button{min-width:28px;min-height:28px;padding:5px;color:#9eb9c6}.widget-head .icon-button:hover{background:#ffffff15}.widget-drag{display:flex;gap:8px;align-items:center;flex:1;-webkit-app-region:drag;font-size:12px}.widget-drag svg{color:var(--mint)}.widget-drag span{color:#7696a6;font-size:10px}.widget-body{padding:14px 14px 10px;overflow:auto;height:calc(100vh - 45px)}.widget-date{font-size:10px;color:#94a7b2;margin-bottom:12px}.widget-project{width:100%;display:flex;align-items:start;justify-content:space-between;gap:9px;text-align:left;padding:12px 0;border-bottom:1px solid var(--border)}.widget-project strong{display:block;font-size:12px;line-height:1.6}.widget-project small{display:block;font-size:10px;color:#92a6b1;margin-top:5px}.widget-project>div:last-child{text-align:right;flex-shrink:0}.widget-empty{padding:30px 0;font-size:12px;color:#8fa3af}.widget .sync-state{margin-top:15px}.admin-section{background:#fff;border:1px solid var(--border);padding:20px;border-radius:10px}.admin-section input{max-width:400px}.admin-section table{margin-top:20px}.admin-section td{font-size:12px}.admin-section .actions{display:flex;flex-wrap:wrap;gap:4px}.admin-section pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;padding:14px;background:#f4f7fa;max-width:100%;border-radius:6px}.admin-section details{border-bottom:1px solid var(--border);padding:12px 0}.admin-section summary{cursor:pointer;line-height:1.8}@media(min-width:1500px){.project-layout{grid-template-columns:minmax(0,1fr) 255px}.main-content{padding:42px 45px}.sidebar{width:245px;padding-top:37px}.main{margin-left:245px}.topbar{padding:0 45px}td{padding-top:25px;padding-bottom:25px}.project-name{font-size:14px}.client-name{font-size:12px}.money{font-size:14px}}@media(max-width:1270px){.project-layout{grid-template-columns:minmax(0,1fr)}.deadline-rail{display:none}.search-box{width:220px}.stats{gap:12px}.main-content{padding:28px 24px}.topbar{padding:0 24px}.stat{padding:18px}.amount-stat .stat-value{font-size:26px}}@media(max-width:900px){.sidebar{width:190px;padding-left:12px;padding-right:12px}.main{margin-left:190px}.brand{font-size:20px}.brand-icon{width:33px;height:33px}.stat-label{font-size:11px}.stat{padding:14px}.stat p{font-size:10px}.amount-stat .stat-value{font-size:22px}.today-label{display:none}.project-toolbar{padding:13px}.search-box{width:100%}.page-heading p{font-size:12px}td{padding:17px 7px}th{padding:12px 7px}.status-button{font-size:9px;padding:5px}.money{font-size:11px}.project-name{font-size:12px}.main-content{padding:26px 18px}.auth-side{padding:30px}.auth-intro h1{font-size:30px}.auth-main{padding:30px}}@media(max-width:700px){:root{font-size:16px}.app-shell{display:block}.sidebar{position:static;width:auto;padding:15px 20px;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.sidebar .brand{padding:0;font-size:21px}.sidebar>.workspace-label,.sidebar .profile,.sidebar-bottom>.nav-item{display:none}.sidebar nav{margin-left:auto;display:flex;gap:5px;max-width:100%;overflow:auto}.sidebar nav>.workspace-label{display:none}.sidebar .nav-item{min-height:36px;font-size:11px;padding:7px;margin-bottom:0;gap:5px;white-space:nowrap}.sidebar nav .nav-item svg{width:15px}.sidebar nav>.nav-item span{display:none}.sidebar-bottom,.main{margin:0}.topbar{height:51px;padding:0 20px}.breadcrumb{font-size:10px;gap:7px}.topbar-right{gap:5px}.sync-state{font-size:10px}.main-content{padding:24px 18px}.page-heading{gap:12px;margin-bottom:20px}.page-heading h1{font-size:26px}.page-heading .primary{font-size:12px;min-height:42px;padding:10px}.page-heading p{font-size:11px;max-width:220px}.eyebrow{font-size:9px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:21px}.stat{padding:16px}.stat-value{font-size:29px}.stat-value>span{font-size:11px}.amount-stat{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;align-items:center}.amount-stat .stat-label{grid-column:1}.amount-stat .stat-value{grid-column:2;grid-row:1 / span 2;margin:0;text-align:right;justify-content:flex-end;font-size:26px}.amount-stat p{grid-column:1;font-size:10px;margin-top:7px}.project-toolbar{padding:12px;gap:12px}.tabs{width:100%;justify-content:space-between}.tabs button{font-size:12px;min-height:40px;flex:1;padding:7px}.search-box{height:42px;width:100%}.search-box input{font-size:12px}.table-meta{font-size:11px;padding:14px 16px}.desktop-table{display:none}.mobile-cards{display:flex;flex-direction:column}.project-card{padding:19px 16px;border-top:1px solid var(--border)}.card-heading{display:flex;gap:14px;align-items:flex-start;justify-content:space-between}.project-card .project-name{font-size:14px}.project-card .deadline{font-size:10px;padding:5px 7px}.project-card .client-name{font-size:11px}.card-details{display:flex;justify-content:space-between;padding:16px 0;gap:15px}.card-details>span{font-size:10px;color:#8e9fa9;display:flex;flex-direction:column;gap:5px}.card-details>span:last-child{text-align:right}.card-details strong{font-family:Segoe UI,sans-serif;font-size:14px;font-weight:500;color:#587080}.converted{font-size:10px}.card-footer{display:flex;gap:9px}.card-footer .status-button{font-size:11px;min-height:39px;padding:9px 12px}.card-footer .text-button{margin-left:auto;font-size:11px;min-height:39px;color:#8299a7}.table-foot{font-size:9px;padding:13px 16px}.mobile-settings{display:inline-flex;margin-left:auto;font-size:11px}.app-footer{margin-top:22px;gap:10px}.app-footer>span:nth-child(2){display:none}.empty{padding:65px 15px}.overlay{padding:12px}.dialog{width:100%;padding:22px;max-height:calc(100dvh - 24px)}.dialog label{font-size:13px}.dialog input,.dialog select,.dialog textarea{font-size:16px;min-height:47px}.dialog .check-label input{min-height:18px}.dialog h2{font-size:23px}.primary,.secondary,.danger{min-height:44px;font-size:13px}.error,.success{font-size:12px}.auth-layout{display:block}.auth-side{padding:24px}.auth-side .brand{font-size:22px}.auth-intro,.auth-foot{display:none}.auth-main{padding:38px 25px}.auth-card{width:100%}.auth-card input{font-size:16px}.auth-card label{font-size:13px}.auth-links button{font-size:12px}.demo-banner{font-size:10px;gap:6px}.demo-banner span{display:none}.demo-banner a{margin-left:0;width:100%;margin-top:3px}.admin-section{padding:15px;overflow-wrap:anywhere}.admin-section table,.admin-section thead,.admin-section tbody,.admin-section tr,.admin-section td{display:block;width:100%}.admin-section thead{display:none}.admin-section td{padding:8px;border:0}.admin-section tr{border-bottom:1px solid var(--border);padding:12px 0}.owner-filter select{font-size:13px}.main-error{flex-wrap:wrap}.main-error span{min-width:220px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(min-width:701px){.project-name{font-size:14px}.client-name{font-size:12px}.date-text{font-size:13px}.status-button{font-size:12px;min-height:36px}.deadline{font-size:12px}.converted{font-size:11px}.tabs button{font-size:13px}.search-box input{font-size:12px}.stat-label{font-size:13px}.stat p{font-size:12px}.table-foot{font-size:11px}.deadline-info strong{font-size:13px}.deadline-info>span:not(.deadline){font-size:12px}.deadline-info small,.rail-note small{font-size:11px}.sidebar .profile strong{font-size:13px}.privacy,.today-label,.sync-state{font-size:12px}.money{font-size:14px}.converted{white-space:normal}}.mobile-admin-nav{display:none}@media(max-width:700px){.mobile-admin-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:22px;padding:7px;border:1px solid var(--border);border-radius:9px;background:#fff}.mobile-admin-nav button{min-height:44px;padding:8px;border-radius:6px;font-size:13px}.mobile-admin-nav button.selected{background:#eaf6f2;color:#216552;font-weight:600}.project-card>small{display:block;overflow-wrap:anywhere}}.auth-password-field{position:relative;display:block}.auth-password-field input{padding-right:52px;min-height:46px}.auth-password-field button{position:absolute;right:1px;top:1px;width:44px;height:44px;border-radius:5px;color:#738995}.auth-password-field button:hover{background:#edf2f5}.auth-card .primary,.auth-card .text-button{min-height:44px}.auth-confirmation-email{display:flex;align-items:center;gap:10px;padding:14px 0;color:#4d6977}.auth-confirmation-email svg{flex-shrink:0}.auth-confirmation-email strong{font-weight:500;overflow-wrap:anywhere;min-width:0}.auth-confirmation>.tiny{margin:2px 0 22px}.auth-confirmation>.text-button{margin-top:10px}.project-actions-heading{width:116px!important;text-align:right}.project-actions-cell{width:116px!important}.project-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.list-delete-button{min-height:44px;min-width:60px;padding:9px 8px;border-radius:6px;gap:5px;font-size:12px;color:#a45a62;white-space:nowrap;flex-shrink:0}.list-delete-button:hover{background:#fcf0f1;color:#9f3b47}.project-row-actions .icon-button{min-height:44px;min-width:36px}.project-delete-dialog{width:480px;overflow-wrap:anywhere}.project-delete-dialog .dialog-head{gap:12px;margin-bottom:20px}.project-delete-dialog .dialog-head .icon-button{min-height:44px;min-width:44px}.project-delete-dialog h2{font-size:22px}.delete-project-summary{margin:0 0 18px;padding:15px 16px;border:1px solid var(--border);border-radius:7px;background:#f9fbfc}.delete-project-summary>div+div{margin-top:12px}.delete-project-summary dt{font-size:11px;color:#8696a1;margin-bottom:4px}.delete-project-summary dd{margin:0;font-size:14px;color:#344955;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.delete-project-summary>div:last-child dd{font-size:12px;color:#738793;font-weight:400}.delete-project-description{font-size:12px;color:#7c8e99;line-height:1.8}.delete-dialog-footer{justify-content:flex-end;flex-wrap:wrap;margin-top:24px}.delete-dialog-footer button{min-height:44px}.project-delete-dialog>.tiny{margin-top:14px}.card-project-actions{display:flex;align-items:center;gap:3px;margin-left:auto;flex-shrink:0}@media(max-width:700px){.card-footer{flex-wrap:wrap;gap:7px}.card-footer .status-button{min-height:44px;padding:9px 10px}.card-footer .text-button{min-height:44px;margin-left:0;padding:5px 4px}.card-footer .list-delete-button{min-width:58px;font-size:11px;padding:8px 6px}.card-details>span{min-width:0}.card-details strong,.card-details .converted{overflow-wrap:anywhere;white-space:normal}.project-delete-dialog{padding:20px}.project-delete-dialog h2{font-size:21px}.project-delete-dialog .owner-banner strong{overflow-wrap:anywhere}.delete-dialog-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px}.delete-dialog-footer button{min-width:0;padding:10px 8px;white-space:normal}.delete-dialog-footer .danger{font-size:12px}}.project-fields{border:0;margin:0;padding:0;min-inline-size:0}.project-fields:disabled input,.project-fields:disabled textarea,.project-fields:disabled select{cursor:wait}
