.detkino-scroll-buttons{position:fixed;top:calc(33.33vh + 44px);right:0;z-index:89;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:0 0 0 8px;transition:opacity .25s ease}.detkino-scroll-btn{width:40px;height:38px;display:flex;align-items:center;justify-content:center;border:none;border-radius:12px 0 0 12px;background:#e6ecf0;color:#6c8390;font-size:18px;font-weight:500;line-height:1;cursor:pointer;transition:background .15s ease}.detkino-scroll-btn:hover{background:#d0d9e0;color:#5a6d78}.detkino-scroll-btn:active{background:#c2cdd6}.global-mobile-menu-section{margin-bottom:16px}.global-mobile-menu-section-title{margin:0 0 8px;font-size:13px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.02em}.global-mobile-menu-link{display:block;padding:10px 12px;color:#1976d2;text-decoration:none;border-radius:6px;font-size:14px;transition:background .15s ease}.global-mobile-menu-link:hover{background:#e3f2fd}.global-mobile-menu-link.active{background:#e3f2fd;font-weight:600}.global-mobile-menu-pulse{background:#f5f5f5;padding:12px;border-radius:8px;border:1px solid #eee}.global-mobile-menu-pulse-item{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;color:#555}.global-mobile-menu-pulse-item span:first-child{margin-right:8px}.global-mobile-menu-pulse-item span:last-child{color:#333;font-weight:500}.global-mobile-menu-pulse-loading{display:flex;align-items:center;gap:6px}.global-mobile-menu-pm-badge{background:#dc3545;color:#fff;padding:2px 6px;border-radius:10px;font-size:11px;font-weight:600;margin-left:6px}.global-mobile-menu-pm-count{font-size:12px;color:#888}.global-mobile-menu-purchase-sidebar .purchase-sidebar-compact{margin:0 -16px;padding:10px 16px;background:#f0f0f0;border-radius:0}.internal-link-overlay{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;background:rgba(0,0,0,.5);padding:12px;box-sizing:border-box}.internal-link-overlay__panel{flex:1 1;min-height:0;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);overflow:hidden}.internal-link-overlay__header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#f5f5f5;border-bottom:1px solid #e0e0e0}.internal-link-overlay__title{font-size:13px;color:#666;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.internal-link-overlay__close{flex-shrink:0;padding:6px 12px;font-size:14px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#333;cursor:pointer}.internal-link-overlay__close:hover{background:#f0f0f0;border-color:#ccc}.internal-link-overlay__frame-wrap{flex:1 1;min-height:0;position:relative}.internal-link-overlay__frame{position:absolute;top:0;left:0;width:100%;height:100%;border:none}:root{--color-primary:#4caf50;--color-primary-hover:#45a049;--color-primary-light:#e8f5e9;--color-primary-dark:#2e7d32;--color-secondary:#64748b;--color-secondary-hover:#475569;--color-secondary-light:#f1f5f9;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--color-bg-secondary:#f8fafc;--color-bg-tertiary:#f1f5f9;--color-bg-accent:#e8f5e9;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-border-dark:#cbd5e1;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-text-inverse:#fff;--color-text-link:#1565c0;--color-text-link-hover:#0d47a1;--color-status-active:#10b981;--color-status-pending:#f59e0b;--color-status-closed:#64748b;--font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-mono:"SF Mono",Monaco,"Cascadia Code","Courier New",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-none:0;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.05);--touch-target-min:44px;--container-max-width:1280px;--container-max-width-sm:640px;--container-max-width-md:768px;--container-max-width-lg:1024px;--container-padding:var(--space-4);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--z-base:0;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}@media (max-width:374px){:root{--container-padding:var(--space-3);--space-6:1.25rem}}@media (min-width:768px){:root{--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--font-size-4xl:2.625rem;--space-6:2rem;--space-8:2.5rem;--space-10:3rem;--space-12:4rem;--space-16:5rem;--space-20:6rem;--container-padding:var(--space-6)}}@media (min-width:1024px){:root{--font-size-3xl:2.5rem;--font-size-4xl:3rem;--space-16:6rem;--space-20:7.5rem;--space-24:9rem;--container-padding:var(--space-8)}}@media (min-width:1920px){:root{--container-max-width:1600px}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);background-color:var(--color-bg-secondary);text-rendering:optimizeLegibility;-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin:0;line-height:var(--line-height-normal)}a{color:var(--color-text-link);transition:color var(--transition-fast)}a:hover{color:var(--color-text-link-hover)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}b,strong{font-weight:var(--font-weight-bold)}small{font-size:var(--font-size-sm)}code,kbd,pre,samp{font-family:var(--font-family-mono);font-size:.875em}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;margin:0}button{cursor:pointer;background:none;border:none;padding:0}button:not(.icon-only){min-height:var(--touch-target-min);padding:var(--space-2) var(--space-4)}input,select,textarea{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}ol,ul{list-style:none;margin:0;padding:0}canvas,img,picture,svg,video{display:block;max-width:100%;height:auto}img{image-rendering:-webkit-optimize-contrast}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.container{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.container-sm{max-width:var(--container-max-width-sm)}.container-md{max-width:var(--container-max-width-md)}.container-lg{max-width:var(--container-max-width-lg)}.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.mt-8{margin-top:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target-min);padding:var(--space-3) var(--space-6);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);text-align:center;text-decoration:none;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-lg);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background-color:var(--color-bg-primary);color:var(--color-text-primary);border-color:var(--color-border-dark)}.btn-secondary:hover{background-color:var(--color-bg-tertiary)}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary-light)}.btn-ghost{background-color:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn-danger{background-color:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error)}.btn-danger:hover{background-color:#dc2626}.btn-sm{min-height:36px;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.btn-lg{min-height:52px;padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg)}.btn-icon{width:var(--touch-target-min);height:var(--touch-target-min);padding:0;min-height:auto}.btn-icon.btn-sm{width:36px;height:36px}.btn-icon.btn-lg{width:52px;height:52px}.btn-block{display:flex;width:100%}@media (min-width:768px){.btn-block-mobile-only{display:inline-flex;width:auto}}.btn-loading{position:relative;color:transparent;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(1turn)}}.btn-group{display:inline-flex;gap:var(--space-2);flex-wrap:wrap}@media (max-width:374px){.btn-group-vertical-mobile{flex-direction:column}.btn-group-vertical-mobile .btn{width:100%}}.card{background-color:var(--color-bg-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-interactive:active{transform:translateY(0)}.card-header{border-bottom:1px solid var(--color-border-light)}.card-body,.card-footer,.card-header{padding:var(--space-4)}.card-footer{border-top:1px solid var(--color-border-light);background-color:var(--color-bg-secondary)}.card-compact .card-body,.card-compact .card-footer,.card-compact .card-header{padding:var(--space-3)}@media (min-width:768px){.card-body,.card-footer,.card-header{padding:var(--space-6)}.card-compact .card-body,.card-compact .card-footer,.card-compact .card-header{padding:var(--space-4)}}.card-image{width:100%;height:auto;display:block}.card-image-cover{width:100%;height:200px;object-fit:cover}@media (min-width:768px){.card-image-cover{height:240px}}.card-accent{border-color:var(--color-primary);border-width:2px}.card-flat,.card-ghost{border:none;box-shadow:none}.card-ghost{background-color:transparent}.badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;border-radius:var(--radius-full);border:1px solid transparent}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary-dark);border-color:var(--color-primary)}.badge-success{background-color:#d1fae5;color:#065f46;border-color:var(--color-success)}.badge-warning{background-color:#fef3c7;color:#92400e;border-color:var(--color-warning)}.badge-error{background-color:#fee2e2;color:#991b1b;border-color:var(--color-error)}.badge-info{background-color:#dbeafe;color:#1e3a8a;border-color:var(--color-info)}.badge-neutral{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border-color:var(--color-border-dark)}.badge-sm{padding:2px var(--space-2);font-size:.625rem}.badge-lg{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.badge-outline{background-color:transparent}.badge-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background-color:currentColor}.badge-group{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.input{display:block;min-height:var(--touch-target-min);padding:var(--space-3) var(--space-4);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.input::placeholder{color:var(--color-text-tertiary)}.input:focus{box-shadow:0 0 0 3px var(--color-primary-light)}.input:disabled{background-color:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:not-allowed}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.input-success{border-color:var(--color-success)}.input-success:focus{box-shadow:0 0 0 3px rgba(16,185,129,.1)}.input-sm{min-height:36px;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.input-lg{min-height:52px;padding:var(--space-4) var(--space-5);font-size:var(--font-size-lg)}.textarea{min-height:120px;resize:vertical;line-height:var(--line-height-relaxed)}.input-group{position:relative;display:flex;align-items:stretch}.input-group .input{flex:1 1}.input-icon-left{padding-left:calc(var(--space-4) + 24px + var(--space-2))}.input-group-icon-left{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--color-text-tertiary);pointer-events:none}.input-icon-right{padding-right:calc(var(--space-4) + 24px + var(--space-2))}.input-group-icon-right{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--color-text-tertiary);pointer-events:none}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-label-required:after{content:" *";color:var(--color-error)}.form-helper{color:var(--color-text-secondary)}.form-error,.form-helper{font-size:var(--font-size-xs);margin-top:var(--space-1)}.form-error{color:var(--color-error)}.select{display:block;width:100%;min-height:var(--touch-target-min);padding:var(--space-3) calc(var(--space-4) + 24px) var(--space-3) var(--space-4);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M10.293 3.293 6 7.586 1.707 3.293A1 1 0 0 0 .293 4.707l5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 1 0-1.414-1.414z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.checkbox-group,.radio-group{display:flex;flex-direction:column;gap:var(--space-3)}.checkbox-label,.radio-label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--font-size-base);color:var(--color-text-primary);min-height:var(--touch-target-min)}.checkbox-input,.radio-input{width:20px;height:20px;border:2px solid var(--color-border-dark);background-color:var(--color-bg-primary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.checkbox-input{border-radius:var(--radius-sm)}.radio-input{border-radius:50%}.checkbox-input:checked,.radio-input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-input:focus,.radio-input:focus{outline:2px solid var(--color-primary);outline-offset:2px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;color:#333}a{color:#1976d2;text-decoration:none}a:hover{text-decoration:underline}:root{--color-primary:#1976d2;--color-primary-hover:#1565c0;--color-primary-light:#e3f2fd;--color-primary-dark:#0d47a1;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-success:#2e7d32;--color-success-light:#e8f5e9;--color-warning:#f57c00;--color-warning-light:#fff3e0;--color-danger:#c92a2a;--color-danger-light:#fff5f5;--color-info:#0288d1;--color-info-light:#e1f5fe;--color-bg-primary:#fff;--color-bg-secondary:#fafafa;--color-bg-tertiary:#f5f5f5;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-lg:16px;--text-xl:18px;--text-2xl:20px;--text-3xl:24px;--text-4xl:28px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 1px 3px rgba(0,0,0,.08);--shadow-lg:0 2px 8px rgba(0,0,0,.1);--shadow-xl:0 4px 20px rgba(0,0,0,.15);--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-modal:1000;--z-overlay:2000}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--color-primary)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.bg-white{background-color:var(--color-bg-primary)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.card{background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-5);margin-bottom:var(--space-4)}.btn-primary{padding:var(--space-2) var(--space-4);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--transition-base)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{padding:var(--space-2) var(--space-4);background:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base)}.btn-secondary:hover{background:var(--color-gray-200);border-color:var(--color-gray-400)}.btn-ghost{padding:var(--space-2) var(--space-3);background:transparent;color:var(--color-gray-600);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base)}.btn-ghost:hover{background:var(--color-gray-50);color:var(--color-gray-700)}.input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-primary)}@media (max-width:600px){:root{--text-3xl:20px;--text-4xl:24px;--space-5:16px;--space-6:20px}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5}.app{display:flex;flex-direction:column;min-height:100vh;padding-bottom:60px}.app-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:#fff;border-bottom:1px solid #e0e0e0;color:#333}@media (min-height:1000px){.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:140}}.app-header-brand{display:flex;align-items:center;gap:10px}.app-header-logo-link{display:block;line-height:0}.app-header-logo-link,.app-header-title-link{text-decoration:none;color:inherit}.app-header-title-link:hover{color:inherit}.app-header-logo{display:block;flex-shrink:0}.app-header-title{font-size:18px;font-weight:600;color:#333}.app-header-user{position:relative}.app-header-user-trigger{display:flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:1px solid #ddd;border-radius:6px;color:#333;font-size:14px;cursor:pointer;font-family:inherit}.app-header-user-trigger:hover{background:#f5f5f5;border-color:#ccc}.app-header-user-icon{flex-shrink:0;color:#333}.app-header-username{font-weight:500}.app-header-user-arrow{flex-shrink:0;color:#666}.app-header-user-menu{position:absolute;top:100%;right:0;margin-top:4px;min-width:200px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:150;padding:6px 0}.app-header-user-menu-item{display:block;width:100%;padding:10px 14px;text-align:left;background:none;border:none;color:#333;font-size:14px;text-decoration:none;cursor:pointer;font-family:inherit;transition:background .15s ease}.app-header-user-menu-item:hover{background:#f5f5f5}.app-header-user-menu-item.active{font-weight:600;background:#f0f0f0}.app-header-user-menu-logout{border-top:1px solid #eee;margin-top:4px;padding-top:10px}.app-header-login{padding:6px 14px;border:1px solid #333;border-radius:6px;color:#333;text-decoration:none;font-size:14px}.app-header-login:hover{background:#f5f5f5}.app-main{flex:1 1;min-height:0;animation:appMainFade .2s ease-out}@keyframes appMainFade{0%{opacity:.7}to{opacity:1}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -2px 12px rgba(0,0,0,.08);z-index:100;padding:8px 0 max(8px,env(safe-area-inset-bottom))}.bottom-nav a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 12px;text-decoration:none;color:#6b7280;transition:all .2s ease;border-radius:12px;margin:0 4px}.bottom-nav a:hover{background-color:#f9fafb;text-decoration:none;color:#374151}.bottom-nav a.active{color:#1976d2;font-weight:600;background:linear-gradient(135deg,#e3f2fd,#f0f7ff);position:relative}.bottom-nav a.active:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:32px;height:3px;background:#1976d2;border-radius:0 0 3px 3px}.bottom-nav .icon{display:block;width:26px;height:26px;object-fit:contain;margin-bottom:6px;transition:transform .2s}.bottom-nav a.active .icon{transform:scale(1.1)}.bottom-nav .label{font-size:11px;font-weight:500;letter-spacing:.2px}button,input,select,textarea{font-family:inherit}.lucide-inline{display:inline-block;vertical-align:middle;flex-shrink:0}.lucide-spin{animation:lucide-spin .85s linear infinite}@keyframes lucide-spin{to{transform:rotate(1turn)}}