@charset "UTF-8";:root,[data-theme=dark]{--color-primary: #2563EB;--color-primary-hover: #1D4ED8;--color-accent: #E07A45;--color-accent-light: rgba(224,122,69,.12);--color-bg: #0F172A;--color-surface: #1E293B;--color-text: #F1F5F9;--color-text-secondary: #94A3B8;--color-border: #334155;--color-border-strong: #475569;--color-error: #EF4444;--color-success: #10B981;--color-error-bg: rgba(239,68,68,.1);--color-error-border: rgba(239,68,68,.25);--color-success-bg: rgba(16,185,129,.1);--color-success-border: rgba(16,185,129,.25);--color-success-text: #10B981;--color-primary-hover-bg: rgba(37,99,235,.15);--color-primary-active-bg: rgba(37,99,235,.25);--color-logout-hover: rgba(239,68,68,.1);--status-new-bg: rgba(37,99,235,.15);--status-new-color: #60A5FA;--status-selected-bg: rgba(217,119,6,.15);--status-selected-color: #FCD34D;--status-done-bg: rgba(16,185,129,.15);--status-done-color: #10B981;--radius-card: 16px;--radius-btn: 12px;--radius-input: 10px;--shadow-card: 0 2px 16px rgba(0,0,0,.35);--shadow-hover: 0 6px 28px rgba(0,0,0,.5);--font: "Golos Text", system-ui, -apple-system, sans-serif;--color-chat-bubble: #2D3748;--color-chat-bubble-text: #E2E8F0}[data-theme=light]{--color-primary: #1E3A5F;--color-primary-hover: #16304F;--color-accent: #C86A3A;--color-accent-light: #F5E8DF;--color-bg: #F7F4F0;--color-surface: #FFFFFF;--color-text: #1A1A1A;--color-text-secondary: #6B6560;--color-border: #E0DBD5;--color-border-strong: #C8C2BA;--color-error: #C13515;--color-success: #2D7A5F;--color-error-bg: #FFF0EE;--color-error-border: #FFCDD0;--color-success-bg: #E8F5EF;--color-success-border: #B2D9C8;--color-success-text: #1D5941;--color-primary-hover-bg: #EAF0F8;--color-primary-active-bg: #D6E4F5;--color-logout-hover: #FFF0EE;--status-new-bg: #EDF5FF;--status-new-color: #1565C0;--status-selected-bg: #FFF3E0;--status-selected-color: #E65100;--status-done-bg: #E8F5E9;--status-done-color: #2E7D32;--shadow-card: 0 2px 16px rgba(0,0,0,.07);--shadow-hover: 0 6px 28px rgba(0,0,0,.12);--color-chat-bubble: #F2F0EC;--color-chat-bubble-text: #1A1A1A}.accent-e{position:relative;display:inline-block}.accent-e:before{content:"";position:absolute;bottom:calc(100% - .17em);left:50%;transform:translate(-50%) rotate(45deg);width:.19em;height:.19em;background:var(--color-accent)}.accent-e:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:-.27em;width:1.8px;height:.13em;background:var(--color-accent);border-radius:1px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}html{overflow-y:overlay}app-root{display:block}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#64748b80;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#64748bcc}*{scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.5) transparent}:focus-visible{outline:2.5px solid var(--color-primary);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}body{font-family:var(--font);font-size:15px;line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}.navbar{position:sticky;top:0;z-index:100;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:0 1px 6px #0000000f}.navbar-row{display:flex;align-items:center;gap:24px;padding:0 24px;height:64px}.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:20px;letter-spacing:-.3px;color:var(--color-primary);margin-right:auto}.nav-links{display:flex;gap:4px}.nav-link{padding:6px 12px;border-radius:8px;text-decoration:none;color:var(--color-text-secondary);font-size:14px;font-weight:500;transition:color .15s,background .15s}.nav-link:hover{color:var(--color-text);background:var(--color-bg)}.nav-link.nav-link--active{color:var(--color-primary)}.nav-right{display:flex;align-items:center;gap:8px;margin-left:auto}.nav-logout{padding:6px 12px;border:1px solid var(--color-border);border-radius:8px;background:none;font:inherit;font-size:14px;color:var(--color-text-secondary);cursor:pointer;transition:border-color .15s,color .15s}.nav-logout:hover{border-color:var(--color-primary);color:var(--color-primary)}.nav-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;padding:0;background:none;border:1.5px solid var(--color-border);border-radius:8px;cursor:pointer;flex-shrink:0;transition:border-color .15s}.nav-hamburger span{display:block;width:18px;height:2px;background:var(--color-text);border-radius:1px;transition:background .15s}.nav-hamburger:hover{border-color:var(--color-primary)}.nav-hamburger:hover span{background:var(--color-primary)}.nav-mobile-menu{display:flex;flex-direction:column;padding:8px 12px 16px;border-top:1px solid var(--color-border);gap:2px}.nav-mobile-link{display:flex;align-items:center;padding:12px 14px;border-radius:10px;text-decoration:none;color:var(--color-text);font-size:15px;font-weight:500;transition:background .1s}.nav-mobile-link:hover,.nav-mobile-link:active{background:var(--color-bg)}.nav-mobile-link.nav-mobile-link--active{color:var(--color-primary)}.nav-mobile-link.nav-mobile-link--admin{color:var(--color-primary);font-weight:600}.nav-mobile-divider{height:1px;background:var(--color-border);margin:6px 4px}.nav-mobile-logout{display:flex;align-items:center;width:100%;padding:12px 14px;border-radius:10px;background:none;border:none;font:inherit;font-size:15px;font-weight:500;color:var(--color-error);cursor:pointer;text-align:left;transition:background .1s}.nav-mobile-logout:hover,.nav-mobile-logout:active{background:var(--color-logout-hover)}.main-content{min-height:calc(100vh - 64px);padding:32px 24px;max-width:1100px;margin:0 auto}.auth-page{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:32px 16px}.auth-card{width:100%;max-width:420px;background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:40px 36px}.auth-logo{display:flex;align-items:center;gap:12px;margin-bottom:28px}.auth-title{font-size:22px;font-weight:700;letter-spacing:-.3px;color:var(--color-primary);margin:0}.auth-heading{font-size:22px;font-weight:600;margin:0 0 20px}.auth-sub{color:var(--color-text-secondary);margin:0 0 16px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}.role-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;border:2px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .1s}.role-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-hover);background:var(--color-primary-hover-bg)}.role-card:active{border-color:var(--color-primary);background:var(--color-primary-active-bg);transform:scale(.98)}.role-icon-svg{color:var(--color-accent)}.role-name{font-weight:600;font-size:15px}.role-desc{font-size:12px;color:var(--color-text-secondary);text-align:center}.role-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--color-accent-light);border:1px solid rgba(224,122,69,.3);border-radius:20px;font-size:13px;font-weight:500;color:var(--color-accent);cursor:pointer;margin-bottom:20px}.role-badge-change{font-size:11px;color:var(--color-text-secondary)}.role-badge-sm{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--color-accent-light);border:1px solid rgba(224,122,69,.3);border-radius:20px;font-size:12px;font-weight:500;color:var(--color-accent)}.auth-form,.profile-form{display:flex;flex-direction:column;gap:16px}.form-field{display:flex;flex-direction:column;gap:5px}.form-label{font-size:13.5px;font-weight:500;color:var(--color-text)}.form-label .req{color:var(--color-primary)}.form-input{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-input);font:inherit;font-size:14px;color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color .15s}.form-input::placeholder{color:#64748b}.form-input:hover{border-color:var(--color-border-strong)}.form-input:focus{border-color:var(--color-primary)}.form-input.ng-invalid.ng-touched{border-color:var(--color-error)}.field-error{font-size:12px;color:var(--color-error)}.form-error-box{padding:10px 14px;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px;font-size:13px;color:var(--color-error)}.success-box{padding:12px 14px;background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:8px;font-size:13px;color:var(--color-success-text);margin-bottom:16px}.forgot-link,.block-link{align-self:flex-start;background:none;border:none;padding:0;font:inherit;font-size:13px;color:var(--color-text-secondary);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.forgot-link:hover,.block-link:hover{color:var(--color-primary)}.auth-footer{margin:20px 0 0;font-size:13px;color:var(--color-text-secondary);text-align:center}.auth-link{color:var(--color-primary);font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 40px;background:var(--color-primary);color:#fff;border:none;border-radius:24px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,box-shadow .15s}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 4px 14px #2563eb59}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 24px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-btn);font:inherit;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,box-shadow .15s}.btn-accent:hover:not(:disabled){background:#c96830;box-shadow:0 4px 14px #e07a4559}.btn-accent:disabled{opacity:.55;cursor:not-allowed}.btn-sm{padding:7px 16px;font-size:13px;border-radius:9px}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;background:none;color:var(--color-text);border:1.5px solid var(--color-border);border-radius:var(--radius-btn);font:inherit;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.page-shell{max-width:720px;margin:0 auto}.page-header{display:flex;align-items:center;gap:12px;margin-bottom:28px}.page-title{font-size:26px;font-weight:700;margin:0}.form-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:24px;margin-bottom:20px}.form-section--actions{padding:16px 24px}.section-title{font-size:17px;font-weight:600;margin:0 0 16px}.section-hint{font-size:13px;color:var(--color-text-secondary);margin:-8px 0 16px;line-height:1.5}.rates-grid{display:flex;flex-direction:column;gap:10px}.rate-row{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--color-border)}.rate-row:last-child{border-bottom:none}.rate-name{flex:1;font-size:14px;color:var(--color-text)}.rate-input-wrap{display:flex;align-items:center;gap:6px}.rate-input{width:110px;text-align:right;padding:7px 10px}.rate-unit{font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.form-actions{display:flex;align-items:center;justify-content:center;gap:16px}.saved-badge{font-size:13px;font-weight:500;color:var(--color-success)}.status-badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.status-new{background:var(--status-new-bg);color:var(--status-new-color)}.status-badge.status-master_selected{background:var(--status-selected-bg);color:var(--status-selected-color)}.status-badge.status-completed{background:var(--status-done-bg);color:var(--status-done-color)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:20px;transition:box-shadow .15s}.card:hover{box-shadow:var(--shadow-hover)}.theme-toggle{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;flex-shrink:0}.theme-toggle__track{width:48px;height:26px;border-radius:13px;background:var(--color-border);border:1.5px solid var(--color-border-strong);position:relative;transition:background .3s,border-color .3s;display:flex;align-items:center}.theme-toggle__track--dark{background:var(--color-primary);border-color:var(--color-primary)}.theme-toggle__thumb{position:absolute;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.4,0,.2,1);color:#f59e0b;box-shadow:0 1px 4px #0000002e}.theme-toggle__track--dark .theme-toggle__thumb{transform:translate(22px);color:#2563eb}@media(max-width:600px){.navbar-row{padding:0 16px;gap:8px}.nav-links{display:none}.nav-hamburger{display:flex}.nav-link--desktop,.nav-logout--desktop{display:none}.main-content{padding:20px 16px}.auth-card{padding:28px 20px}.role-grid{grid-template-columns:1fr}.page-header{flex-wrap:wrap;gap:10px}.page-title{font-size:22px}.form-actions{flex-wrap:wrap}.form-section{padding:18px 16px}}
