@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
:root{--color-bg:#fafafa;--color-bg-card:#fff;--color-bg-hover:#f0f0f0;--color-bg-sidebar:#fff;--color-text:#1a1a1a;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-accent:#0071e3;--color-accent-hover:#0060c0;--color-border:#e5e7eb;--color-status-active:#34c759;--color-status-requested:#ffd60a;--color-status-cancelled:#ff9500;--color-status-completed:#8e8e93;--color-status-paused:#007aff;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 1px 3px #00000014;--shadow-lg:0 4px 12px #00000014;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:12px;--radius-lg:14px;--radius-full:9999px;--transition:.2s ease;--sidebar-width:260px;--sidebar-collapsed-width:64px;--header-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--color-bg);color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:var(--color-accent);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-accent-hover)}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-bg-sidebar);border-right:1px solid var(--color-border);z-index:100;height:100vh;transition:width var(--transition);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.sidebar-header{height:var(--header-height);padding:0 var(--space-lg);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.sidebar-logo{color:var(--color-text);align-items:center;gap:var(--space-sm);white-space:nowrap;font-size:20px;font-weight:700;display:flex;overflow:hidden}.sidebar-logo svg{width:24px;height:24px;color:var(--color-accent);flex-shrink:0}.sidebar-toggle{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-toggle:hover{background:var(--color-bg-hover);color:var(--color-text)}.sidebar-label{white-space:nowrap;opacity:1;transition:opacity var(--transition);overflow:hidden}.sidebar-nav{padding:var(--space-md)var(--space-sm);flex:1}.nav-section{margin-bottom:var(--space-lg)}.nav-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);padding:0 var(--space-md);margin-bottom:var(--space-xs);white-space:nowrap;transition:opacity var(--transition);font-size:11px;font-weight:600;overflow:hidden}.nav-item{align-items:center;gap:var(--space-md);padding:var(--space-sm)var(--space-md);border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:all var(--transition);cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--color-bg-hover);color:var(--color-text)}.nav-item.active{background:var(--color-bg);color:var(--color-accent)}.nav-item.active:before{content:"";background:var(--color-accent);border-radius:0 2px 2px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item svg{flex-shrink:0;width:18px;height:18px}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-header{justify-content:center;padding:0}.sidebar.collapsed .sidebar-logo{justify-content:center}.sidebar.collapsed .sidebar-header{gap:var(--space-xs);padding:var(--space-sm)0;height:auto;min-height:var(--header-height);flex-direction:column}.sidebar.collapsed .sidebar-toggle{display:flex}.sidebar.collapsed .sidebar-label{opacity:0;width:0;overflow:hidden}.sidebar.collapsed .nav-section-title{opacity:0;height:0;margin:0;padding:0}.sidebar.collapsed .nav-item{padding:var(--space-sm);justify-content:center}.sidebar.collapsed .nav-item.active:before{display:none}.sidebar.collapsed .nav-section{margin-bottom:var(--space-sm)}.sidebar.collapsed .sidebar-nav{padding:var(--space-md)var(--space-xs)}.sidebar.collapsed .user-menu{padding:var(--space-sm);justify-content:center}.sidebar.collapsed .user-info,.sidebar.collapsed .user-logout{display:none}.mobile-menu-btn{z-index:90;background:var(--color-bg-card);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-md);border:none;padding:6px;display:none;position:fixed;top:18px;left:16px}.sidebar-backdrop{display:none}.main-content{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition);flex:1}[data-sidebar=collapsed] .main-content{margin-left:var(--sidebar-collapsed-width)}.header{height:var(--header-height);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);padding:0 var(--space-xl);z-index:50;background:#fafafad9;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-title{font-size:18px;font-weight:600}.header-actions{align-items:center;gap:var(--space-md);display:flex}.page-content{padding:var(--space-xl);max-width:1200px}.card{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--space-lg);transition:box-shadow var(--transition),transform var(--transition)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.card-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:14px;font-weight:600}.card-value{margin-bottom:var(--space-xs);font-size:28px;font-weight:700}.card-label{color:var(--color-text-secondary);font-size:13px}.stat-card:hover{transform:none}.stat-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stats-grid{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-md);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:none;font-family:inherit;font-size:14px;font-weight:500;line-height:1.4;display:inline-flex}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.btn-secondary:hover{background:var(--color-bg-hover)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-text)}.btn svg{width:16px;height:16px}.status-badge{border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition);border:1px solid var(--color-border);background:var(--color-bg-card);align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex;position:relative}.status-badge:hover{box-shadow:var(--shadow-md)}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dropdown{background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);padding:var(--space-xs);z-index:200;min-width:160px;position:absolute;top:calc(100% + 4px);left:0}.status-option{align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-md);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);text-align:left;width:100%;color:var(--color-text);background:0 0;border:none;font-family:inherit;font-size:13px;display:flex}.status-option:hover{background:var(--color-bg-hover)}.doc-table{border-collapse:collapse;width:100%}.doc-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);text-align:left;padding:var(--space-sm)var(--space-md);border-bottom:1px solid var(--color-border);font-size:12px;font-weight:600}.doc-table td{padding:var(--space-md);border-bottom:1px solid var(--color-border);vertical-align:middle;font-size:14px}.doc-table tr:hover td{background:var(--color-bg-hover)}.doc-table tr{cursor:pointer;transition:background var(--transition)}.doc-title-cell{align-items:center;gap:var(--space-md);display:flex}.doc-icon{border-radius:var(--radius-sm);background:var(--color-bg);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.doc-icon svg{width:18px;height:18px;color:var(--color-text-secondary)}.doc-info h4{margin-bottom:2px;font-size:14px;font-weight:500}.doc-info p{color:var(--color-text-tertiary);font-size:12px}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center;cursor:pointer;transition:all var(--transition);background:var(--color-bg-card)}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--color-accent);background:#0071e305}.upload-zone svg{width:48px;height:48px;color:var(--color-text-tertiary);margin-bottom:var(--space-md)}.upload-zone h3{margin-bottom:var(--space-xs);font-size:16px;font-weight:600}.upload-zone p{color:var(--color-text-secondary);font-size:14px}.chat-container{height:calc(100vh - var(--header-height) - var(--space-xl)*2);flex-direction:column;display:flex}.chat-messages{padding:var(--space-lg)0;gap:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-bubble{max-width:70%;padding:var(--space-md)var(--space-lg);border-radius:var(--radius-lg);font-size:14px;line-height:1.6}.chat-bubble.user{background:var(--color-accent);color:#fff;border-bottom-right-radius:var(--space-xs);align-self:flex-end}.chat-bubble.assistant{background:var(--color-bg-card);box-shadow:var(--shadow-md);border-bottom-left-radius:var(--space-xs);align-self:flex-start}.chat-markdown h2,.chat-markdown h3,.chat-markdown h4{margin:.6em 0 .3em;font-size:15px;font-weight:600}.chat-markdown h2{font-size:16px}.chat-markdown p{margin:.3em 0}.chat-markdown ul{margin:.3em 0;padding-left:1.4em}.chat-markdown li{margin:.15em 0}.chat-markdown strong{font-weight:600}.chat-input-bar{gap:var(--space-md);padding:var(--space-md)0;border-top:1px solid var(--color-border);display:flex}.chat-input{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition);background:var(--color-bg-card);outline:none;flex:1;font-family:inherit;font-size:14px}.chat-input:focus{border-color:var(--color-accent)}.form-group{margin-bottom:var(--space-lg)}.form-label{margin-bottom:var(--space-xs);color:var(--color-text-secondary);font-size:13px;font-weight:500;display:block}.form-input,.form-select{width:100%;padding:var(--space-sm)var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-text);transition:border-color var(--transition);outline:none;font-family:inherit;font-size:14px}.form-input:focus,.form-select:focus{border-color:var(--color-accent)}.detail-grid{gap:var(--space-xl);grid-template-columns:2fr 1fr;display:grid}.detail-section{margin-bottom:var(--space-xl)}.detail-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin-bottom:var(--space-md);font-size:13px;font-weight:600}.detail-row{padding:var(--space-sm)0;border-bottom:1px solid var(--color-border);justify-content:space-between;font-size:14px;display:flex}.detail-row-label{color:var(--color-text-secondary)}.detail-row-value{font-weight:500}.empty-state{text-align:center;padding:var(--space-2xl)}.empty-state svg{width:64px;height:64px;color:var(--color-text-tertiary);margin-bottom:var(--space-lg)}.empty-state h3{margin-bottom:var(--space-sm);font-size:16px;font-weight:600}.empty-state p{color:var(--color-text-secondary);margin-bottom:var(--space-lg);font-size:14px}.search-bar{position:relative}.search-bar input{width:100%;padding:var(--space-sm)var(--space-md)var(--space-sm)40px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);transition:border-color var(--transition);outline:none;font-family:inherit;font-size:14px}.search-bar input:focus{border-color:var(--color-accent)}.search-bar svg{width:16px;height:16px;color:var(--color-text-tertiary);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.n8n-frame{width:100%;height:calc(100vh - var(--header-height) - 120px);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:none}.n8n-status{align-items:center;gap:var(--space-md);padding:var(--space-md)var(--space-lg);background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-lg);display:flex}.n8n-status-dot{border-radius:50%;width:10px;height:10px}.n8n-status-text{flex:1;font-size:14px}@media (max-width:768px){.sidebar{transition:transform var(--transition),width var(--transition);transform:translate(-100%);width:var(--sidebar-width)!important}.sidebar.open{transform:translate(0)}.sidebar-toggle{display:none}.mobile-menu-btn{display:flex}.sidebar-backdrop{z-index:99;background:#0006;display:block;position:fixed;inset:0}.main-content,[data-sidebar=collapsed] .main-content{margin-left:0!important}.header{padding-left:56px}.detail-grid,.stats-grid{grid-template-columns:1fr}}.processing-indicator{align-items:center;gap:var(--space-md);padding:var(--space-md)var(--space-lg);border-radius:var(--radius-md);color:var(--color-accent);background:#0071e30d;border:1px solid #0071e31a;font-size:14px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.tag{border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border);align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.tag-list{gap:var(--space-xs);flex-wrap:wrap;display:flex}.deadline-item{align-items:center;gap:var(--space-md);padding:var(--space-md);border-bottom:1px solid var(--color-border);display:flex}.deadline-item:last-child{border-bottom:none}.deadline-days{white-space:nowrap;min-width:80px;font-size:13px;font-weight:600}.deadline-days.urgent{color:var(--color-status-cancelled)}.deadline-days.soon{color:var(--color-status-requested)}.deadline-title{flex:1;font-size:14px}.deadline-person{color:var(--color-text-tertiary);font-size:12px}.deadline-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)var(--space-lg);margin-bottom:var(--space-md);background:var(--color-bg-card);transition:box-shadow var(--transition);color:inherit;text-decoration:none;display:block}.deadline-card:hover{box-shadow:var(--shadow-lg)}.deadline-card-header{margin-bottom:var(--space-sm)}.deadline-card-title{font-size:14px;font-weight:600}.deadline-card-provider{color:var(--color-text-secondary);font-weight:400}.deadline-card-meta{color:var(--color-text-tertiary);margin-top:2px;font-size:12px}.deadline-card-dates{margin-top:var(--space-sm)}.deadline-card-row{align-items:center;gap:var(--space-md);padding:var(--space-xs)0;font-size:13px;display:flex}.deadline-card-row-label{min-width:120px;font-weight:500}.deadline-days-badge{white-space:nowrap;margin-left:auto;font-size:12px;font-weight:600}.deadline-days-badge.urgent{color:var(--color-status-cancelled)}.deadline-days-badge.soon{color:var(--color-status-requested)}.deadline-card-reminders{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.deadline-card-reminder-row{padding:var(--space-xs)0;justify-content:space-between;display:flex}.login-page{background:var(--color-bg);min-height:100vh;padding:var(--space-md);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2xl)var(--space-xl);text-align:center;width:100%;max-width:420px}.login-logo{justify-content:center;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.login-logo h1{color:var(--color-text);margin:0;font-size:28px;font-weight:700}.login-subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-xl);font-size:14px;line-height:1.5}.login-button-google{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;padding:12px var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:var(--transition);font-size:15px;font-weight:500;display:inline-flex}.login-button-google:hover{background:var(--color-bg-hover);box-shadow:var(--shadow-md)}.login-footer{margin-top:var(--space-xl);justify-content:center;align-items:center;gap:var(--space-sm);font-size:13px;display:flex}.login-footer a{color:var(--color-text-tertiary);text-decoration:none}.login-footer a:hover{color:var(--color-accent)}.login-footer span{color:var(--color-text-tertiary)}.user-menu{padding:var(--space-md);border-top:1px solid var(--color-border);align-items:center;gap:var(--space-sm);display:flex}.user-avatar{border-radius:var(--radius-full);object-fit:cover;width:32px;height:32px}.user-avatar-fallback{border-radius:var(--radius-full);background:var(--color-accent);color:#fff;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:flex}.user-info{flex:1;min-width:0}.user-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.user-email{color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.user-logout{padding:var(--space-xs);cursor:pointer;color:var(--color-text-tertiary);border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:none;align-items:center;display:flex}.user-logout:hover{color:var(--color-text);background:var(--color-bg-hover)}.legal-page{max-width:720px;padding:var(--space-xl);margin:0 auto}.legal-page h1{margin-bottom:var(--space-lg);font-size:24px;font-weight:700}.legal-page h2{margin-top:var(--space-xl);margin-bottom:var(--space-md);font-size:18px;font-weight:600}.legal-page p,.legal-page li{color:var(--color-text-secondary);margin-bottom:var(--space-md);font-size:14px;line-height:1.7}.legal-page ul{padding-left:var(--space-lg)}.legal-page a{color:var(--color-accent);text-decoration:none}.legal-page a:hover{text-decoration:underline}.tos-page{min-height:100vh;padding:var(--space-md);background:var(--color-bg);justify-content:center;align-items:center;display:flex}.tos-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-xl);width:100%;max-width:600px}.tos-card h1{margin-bottom:var(--space-md);font-size:22px;font-weight:700}.tos-content{max-height:400px;margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-bg);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:13px;line-height:1.7;overflow-y:auto}.tos-checkbox{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);font-size:14px;display:flex}.tos-checkbox input{width:18px;height:18px;accent-color:var(--color-accent)}.tos-accept-btn{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:var(--transition);border:none;padding:12px;font-size:15px;font-weight:500}.tos-accept-btn:hover:not(:disabled){background:var(--color-accent-hover)}.tos-accept-btn:disabled{opacity:.5;cursor:not-allowed}
