.locale-switcher{display:flex;align-items:center}.locale-select{padding:.5rem 1rem;border:1px solid #ced4da;border-radius:4px;background-color:#fff;font-size:.875rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.locale-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.task-item{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:.75rem;transition:all .2s ease;cursor:pointer}.task-item:hover{box-shadow:0 2px 4px #0000001a}.task-item.completed{opacity:.7}.task-item.overdue{border-left:3px solid #e74c3c}.task-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.task-item-main{display:flex;align-items:flex-start;gap:.75rem;flex:1;min-width:0}.task-item-checkbox{flex-shrink:0;margin-top:.25rem}.task-item-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.task-item-content{flex:1;min-width:0}.task-item-title{font-weight:500;color:#2c3e50;margin-bottom:.25rem;word-wrap:break-word}.task-item.completed .task-item-title{text-decoration:line-through;color:#7f8c8d}.task-item-due-date{font-size:.75rem;color:#7f8c8d}.task-item-due-date.overdue{color:#e74c3c;font-weight:500}.task-item-badges{display:flex;gap:.5rem;flex-shrink:0}.task-priority-badge,.task-status-badge{padding:.25rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500;color:#fff;text-transform:capitalize}.task-item-details{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e0e0e0}.task-item-description{color:#555;font-size:.875rem;margin-bottom:.75rem;line-height:1.5}.task-item-meta{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;font-size:.8rem;color:#7f8c8d}.task-meta-item{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.task-meta-item strong{color:#2c3e50}.task-tag{display:inline-block;padding:.125rem .5rem;background:#e8f4f8;color:#3498db;border-radius:12px;font-size:.7rem;margin-left:.25rem}.task-item-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-task-action{padding:.5rem 1rem;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-task-action:hover{background:#e0e0e0}.btn-task-action:focus-visible{outline:2px solid #3498db;outline-offset:2px}.btn-task-delete{background:#fee;border-color:#fcc;color:#c33}.btn-task-delete:hover{background:#fdd}.task-form{display:flex;flex-direction:column;gap:1rem}.form-group label{font-size:.875rem;font-weight:500;color:#2c3e50}.form-group input,.form-group textarea,.form-group select{padding:.625rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem;font-family:inherit;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3498db}.form-group textarea{resize:vertical;min-height:60px}.tag-input-group{display:flex;gap:.5rem}.tag-input-group input{flex:1}.btn-add-tag{padding:.625rem 1rem;background:#3498db;color:#fff;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:background .2s ease}.btn-add-tag:hover{background:#2980b9}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tag-item{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:#e8f4f8;color:#3498db;border-radius:12px;font-size:.75rem}.tag-remove{background:none;border:none;color:#3498db;cursor:pointer;font-size:1.2rem;line-height:1;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.tag-remove:hover{background:#3498db33}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.btn-submit{flex:1;padding:.75rem;background:#3498db;color:#fff;border:none;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s ease}.btn-submit:hover{background:#2980b9}.btn-cancel{padding:.75rem 1.5rem;background:#f0f0f0;color:#2c3e50;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#e0e0e0}.task-list{display:flex;flex-direction:column;height:100%}.task-list-header{margin-bottom:1rem}.btn-create-task{width:100%;padding:.75rem;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s ease}.btn-create-task:hover{background:#2980b9}.btn-create-task:focus-visible{outline:2px solid #3498db;outline-offset:2px}.task-list-filters{display:flex;gap:.5rem;margin-bottom:1rem}.task-filter{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem;background:#fff;cursor:pointer}.task-filter:focus{outline:2px solid #3498db;outline-offset:2px}.task-create-form-container{margin-bottom:1rem;padding:1rem;background:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0}.task-list-items{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.task-list-loading,.task-list-empty{padding:2rem;text-align:center;color:#7f8c8d}.task-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:999;animation:fadeIn .2s ease}.task-panel{position:fixed;top:0;right:0;width:400px;max-width:90vw;height:100vh;background:#fff;box-shadow:-2px 0 10px #0000001a;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.task-panel.open{transform:translate(0)}.task-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.task-panel-header h2{margin:0;font-size:1.5rem;color:#2c3e50}.task-panel-close{background:none;border:none;color:#7f8c8d;cursor:pointer;padding:.5rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.task-panel-close:hover{background:#e0e0e0;color:#2c3e50}.task-panel-close:focus-visible{outline:2px solid #3498db;outline-offset:2px}.task-panel-body{flex:1;overflow-y:auto;padding:1rem}@media (max-width: 768px){.task-panel{width:100vw;max-width:100vw}}.chat-input-form{display:flex;gap:.5rem;padding:1rem;border-top:1px solid #e0e0e0;background:#fff;align-items:flex-end}.chat-input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:.9rem;font-family:inherit;resize:none;min-height:40px;max-height:120px;line-height:1.4}.chat-input:focus{outline:2px solid #3498db;outline-offset:2px;border-color:#3498db}.chat-input:disabled{background:#f5f5f5;cursor:not-allowed}.chat-send-button{background:#3498db;color:#fff;border:none;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.chat-send-button:hover:not(:disabled){background:#2980b9;transform:scale(1.05)}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-send-button:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}.chat-send-button:focus-visible{outline:2px solid #3498db;outline-offset:2px}.chat-list{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-list-header{padding:1rem;border-bottom:1px solid #e0e0e0;background:#fff}.chat-filter{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;background:#fff;cursor:pointer}.chat-filter:focus{outline:2px solid #3498db;outline-offset:2px}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.chat-list-loading{padding:2rem;text-align:center;color:#7f8c8d}.chat-empty{padding:2rem;text-align:center;color:#7f8c8d;font-style:italic}.chat-message{display:flex;flex-direction:column;max-width:80%;animation:slideIn .2s ease}.chat-message.own{align-self:flex-end;align-items:flex-end}.chat-message.other{align-self:flex-start;align-items:flex-start}.chat-message.unread{background:#f0f8ff;padding:.5rem;border-radius:4px}.chat-message-header{display:flex;gap:.5rem;align-items:center;margin-bottom:.25rem;font-size:.75rem;color:#7f8c8d}.chat-message.own .chat-message-header{flex-direction:row-reverse}.chat-message-sender{font-weight:600;color:#2c3e50}.chat-message-time{color:#95a5a6}.chat-message-content{padding:.75rem 1rem;border-radius:12px;word-wrap:break-word;line-height:1.4}.chat-message.own .chat-message-content{background:#3498db;color:#fff;border-bottom-right-radius:4px}.chat-message.other .chat-message-content{background:#ecf0f1;color:#2c3e50;border-bottom-left-radius:4px}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:999;animation:fadeIn .2s ease}.chat-panel{position:fixed;top:0;right:0;width:400px;max-width:90vw;height:100vh;background:#fff;box-shadow:-2px 0 10px #0000001a;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.chat-panel.open{transform:translate(0)}.chat-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.chat-panel-header h2{margin:0;font-size:1.5rem;color:#2c3e50}.chat-panel-close{background:none;border:none;color:#7f8c8d;cursor:pointer;padding:.5rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.chat-panel-close:hover{background:#e0e0e0;color:#2c3e50}.chat-panel-close:focus-visible{outline:2px solid #3498db;outline-offset:2px}.chat-panel-body{flex:1;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){.chat-panel{width:100vw;max-width:100vw}}.gemini-suggestions-content{display:flex;flex-direction:column;height:100%;width:100%}.gemini-suggestions-panel{position:fixed;right:1rem;top:50%;transform:translateY(-50%);width:380px;max-height:80vh;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;z-index:1000;display:flex;flex-direction:column;border:1px solid var(--border-color);overflow:hidden;transition:all .3s ease}@media (max-width: 1400px){.gemini-suggestions-panel{width:320px}}.gemini-suggestions-panel.minimized{width:auto;height:auto;transform:translateY(-50%)}.gemini-minimize-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.gemini-minimize-btn:hover{background:var(--primary-color-dark, #0056b3);transform:scale(1.05)}.gemini-icon{font-size:1.2rem}.gemini-title{font-size:.9rem;font-weight:600}.gemini-badge{background:#ffffff4d;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.gemini-suggestions-header,.gemini-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--primary-color);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.gemini-suggestions-header .header-left,.gemini-panel-header .header-left{display:flex;align-items:center;gap:.75rem;flex:1}.gemini-suggestions-header h3,.gemini-panel-header h3{margin:0;font-size:1rem;color:#fff;font-weight:600}.header-title-group{display:flex;flex-direction:column;gap:.25rem}.model-info{font-size:.7rem;color:#fffc;font-weight:400;text-transform:capitalize}.gemini-suggestions-header .header-actions,.gemini-panel-header .header-actions{display:flex;gap:.25rem;align-items:center}.btn-icon{background:#fff3;border:none;color:#fff;width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s;padding:0}.btn-icon:hover{background:#ffffff4d}.suggestions-count{background:#ffffff4d;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.loading-indicator{font-size:.85rem;color:#ffffffe6;font-style:italic}.typing-indicator{font-size:.8rem;color:#fffc;font-style:italic;background:#fff3;padding:.25rem .5rem;border-radius:12px}.suggestions-content{padding:1rem 1.25rem;overflow-y:auto;flex:1;max-height:calc(80vh - 60px)}.gemini-panel-body .gemini-suggestions-content{height:100%}.gemini-panel-body .suggestions-content{max-height:calc(100vh - 200px)}.gemini-error{padding:1rem 1.25rem;background:#fff5f5;border-top:1px solid #ffebee}.gemini-error .error-message{color:#d32f2f;font-size:.9rem;margin:0 0 .5rem}.suggestions-loading,.suggestions-empty{text-align:center;padding:2rem 1rem;color:var(--text-secondary)}.suggestions-empty .hint{font-size:.85rem;margin-top:.5rem;color:var(--text-tertiary)}.suggestions-list{display:flex;flex-direction:column;gap:.75rem}.suggestion-item{display:flex;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color);cursor:pointer;transition:all .2s}.suggestion-item:hover{background:#f0f7ff;border-color:var(--primary-color);transform:translate(4px);box-shadow:0 2px 8px #0000001a}.suggestion-icon{font-size:1.5rem;flex-shrink:0}.suggestion-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.suggestion-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.suggestion-header h4{margin:0;font-size:1rem;color:var(--text-primary);font-weight:600}.suggestion-description{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.suggestion-type{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.confidence-badge{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize;flex-shrink:0}.confidence-high{background:#e8f5e9;color:#2e7d32}.confidence-medium{background:#fff3e0;color:#f57c00}.confidence-low{background:#fce4ec;color:#c2185b}.error-message{color:#d32f2f;font-size:.9rem;margin:0}.gemini-panel{position:fixed;top:80px;right:1rem;width:380px;max-width:calc(100vw - 2rem);max-height:calc(100vh - 100px);background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:1000;display:flex;flex-direction:column;opacity:0;transform:translate(100%) scale(.95);pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.gemini-panel.open{opacity:1;transform:translate(0) scale(1);pointer-events:auto}.gemini-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;border-radius:12px 12px 0 0;flex-shrink:0}.gemini-panel-header h2{margin:0;font-size:1.1rem;color:#fff;font-weight:600}.gemini-panel-close{background:#fff3;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;width:32px;height:32px}.gemini-panel-close:hover{background:#ffffff4d;color:#fff}.gemini-panel-close:focus-visible{outline:2px solid #9b59b6;outline-offset:2px}.gemini-panel-body{flex:1;overflow-y:auto;padding:0;min-height:0;max-height:calc(100vh - 180px)}.gemini-panel-empty{padding:2rem;text-align:center;color:#7f8c8d}.gemini-panel-empty .hint{font-size:.9rem;margin-top:.5rem;color:#95a5a6}.gemini-panel-body .gemini-suggestions-panel{position:relative;width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:none;border-radius:0;z-index:auto}.gemini-panel-body .gemini-suggestions-panel.minimized{display:none}@media (max-width: 768px){.gemini-panel{top:1rem;right:1rem;left:1rem;width:auto;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}}.chat-notification-badge{position:absolute;top:-6px;right:-6px;background:#e74c3c;color:#fff;border-radius:10px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;padding:0 6px;box-shadow:0 2px 4px #0003;z-index:999;pointer-events:none}.layout{display:flex;min-height:100vh;background-color:#f5f5f5;position:relative;transition:padding-left .3s ease}.layout.sidebar-visible,.layout.sidebar-hidden{padding-left:0}.skip-link{position:absolute;top:-40px;left:0;background:#2c3e50;color:#fff;padding:8px;text-decoration:none;z-index:100;border-radius:0 0 4px}.sidebar-toggle{position:fixed;top:1.25rem;left:1.25rem;z-index:1001;background-color:#2c3e50;color:#fff;border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0003;transition:opacity .3s ease,visibility .3s ease,background-color .2s ease}.sidebar-toggle:hover{background-color:#34495e}.sidebar-toggle:focus-visible{outline:2px solid #3498db;outline-offset:2px}.sidebar-toggle svg{width:20px;height:20px}.layout.sidebar-visible .sidebar-toggle{opacity:0;visibility:hidden;pointer-events:none}.layout.sidebar-hidden .sidebar-toggle{opacity:1;visibility:visible;pointer-events:auto}.sidebar{width:250px;background-color:#2c3e50;color:#fff;padding:2rem 0;box-shadow:2px 0 5px #0000001a;display:flex;flex-direction:column;height:100vh;position:fixed;top:0;left:0;transition:transform .3s ease;z-index:1000;overflow-y:auto;overflow-x:hidden}.sidebar.visible{transform:translate(0)}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.1);gap:.75rem}.logo{flex:1;min-width:0}.logo h1{font-size:1.5rem;font-weight:600;color:#3498db;margin:0;line-height:1.2}.sidebar-close{background:#ffffff1a;border:none;color:#ffffffe6;cursor:pointer;padding:.5rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;width:32px;height:32px}.sidebar-close:hover{background-color:#fff3;color:#fff}.sidebar-close:focus-visible{outline:2px solid #3498db;outline-offset:2px}.sidebar-close svg{width:18px;height:18px;stroke-width:2.5}.nav-menu{list-style:none;padding:.75rem 0;margin:0}.nav-menu li{margin:.5rem 0}.nav-menu a{display:block;padding:1rem 2rem;color:#fffc;text-decoration:none;transition:all .3s ease}.nav-menu a:hover{background-color:#ffffff1a;color:#fff}.nav-menu a.active{background-color:#3498db;color:#fff;border-left:4px solid #2980b9}.nav-menu a:focus{outline:2px solid #3498db;outline-offset:-2px}.nav-menu-item-with-submenu{position:relative}.nav-menu-item-header{display:flex;align-items:center;justify-content:space-between}.nav-menu-item-header>a{flex:1}.nav-submenu-toggle{background:none;border:none;color:#fffc;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:transform .2s ease;margin-right:.5rem}.nav-submenu-toggle:hover{color:#fff}.nav-submenu-toggle svg{transition:transform .2s ease}.nav-submenu-toggle svg.rotated{transform:rotate(180deg)}.nav-submenu{list-style:none;padding:0;margin:0;background-color:#0003;border-left:3px solid #3498db;max-height:0;overflow:hidden;transition:max-height .3s ease}.nav-submenu.open{max-height:300px}.nav-submenu li{margin:0}.nav-submenu a{padding:.75rem 2rem .75rem 3.5rem;font-size:.9rem;color:#ffffffb3}.nav-submenu a:hover{background-color:#ffffff26;color:#fff}.nav-submenu a.active{background-color:#3498db4d;color:#fff;border-left:3px solid #3498db}.sidebar-footer{margin-top:auto;padding:1rem 2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:1rem}.user-info{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;background-color:#ffffff1a;border-radius:8px}.user-details{flex:1;min-width:0}.user-name{font-weight:500;color:#fff;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:#ffffffb3;text-transform:capitalize;margin-top:.25rem}.btn-logout{background:none;border:none;color:#fffc;cursor:pointer;padding:.5rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.btn-logout:hover{background-color:#fff3;color:#fff}.btn-logout:focus-visible{outline:2px solid #3498db;outline-offset:2px}.main-content{flex:1;padding:2rem;overflow-y:auto;transition:margin-left .3s ease;width:100%}.layout.sidebar-visible .main-content{margin-left:250px}.layout.sidebar-hidden .main-content{margin-left:0}.task-panel-toggle{position:fixed;bottom:2rem;right:2rem;z-index:998;background-color:#3498db;color:#fff;border:none;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s ease}.task-panel-toggle:hover{background-color:#2980b9;transform:scale(1.05);box-shadow:0 6px 16px #0003}.task-panel-toggle:focus-visible{outline:2px solid #3498db;outline-offset:2px}.task-panel-toggle svg{width:24px;height:24px}.chat-panel-toggle{position:fixed;bottom:calc(2rem + 64px);right:2rem;z-index:998;background-color:#27ae60;color:#fff;border:none;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s ease;overflow:visible}.chat-panel-toggle:hover{background-color:#229954;transform:scale(1.05);box-shadow:0 6px 16px #0003}.chat-panel-toggle:focus-visible{outline:2px solid #27ae60;outline-offset:2px}.chat-panel-toggle svg{width:24px;height:24px;position:relative;z-index:1}.gemini-panel-toggle{position:fixed;bottom:calc(2rem + 128px);right:2rem;z-index:998;background-color:#9b59b6;color:#fff;border:none;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:background-color .3s ease,box-shadow .3s ease}.gemini-panel-toggle:hover{background-color:#8e44ad;transform:scale(1.05);box-shadow:0 6px 16px #0003}.gemini-panel-toggle:focus-visible{outline:2px solid #9b59b6;outline-offset:2px}.gemini-panel-toggle svg{width:24px;height:24px}.gemini-panel-toggle.has-suggestions{animation:subtle-pulse 2s ease-in-out infinite!important;transition:background-color .3s ease!important}.gemini-panel-toggle.has-suggestions,.gemini-panel-toggle.has-suggestions *{will-change:transform,box-shadow}@keyframes subtle-pulse{0%,to{box-shadow:0 4px 12px #9b59b626,0 0 #9b59b600;transform:scale(1)}50%{box-shadow:0 4px 20px #9b59b699,0 0 0 12px #9b59b633;transform:scale(1.05)}}.gemini-panel-toggle.has-suggestions:hover{animation:none;background-color:#8e44ad;transform:scale(1.05);box-shadow:0 6px 16px #0003}@media (max-width: 768px){.sidebar{width:250px}.task-panel-toggle{bottom:1rem;right:1rem;width:48px;height:48px}.chat-panel-toggle{bottom:calc(1rem + 56px);right:1rem;width:48px;height:48px}.gemini-panel-toggle{bottom:calc(1rem + 112px);right:1rem;width:48px;height:48px}}.layout.sidebar-visible .main-content{margin-left:0}.layout.sidebar-visible .sidebar-toggle{left:1rem}.sidebar.hidden{transform:translate(-100%)}.sidebar.visible{transform:translate(0);box-shadow:4px 0 12px #0000004d}.main-content{padding:1rem}.sidebar-toggle{top:.75rem;left:.75rem}} @media (max-width: 480px){.sidebar{width:100%;max-width:280px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-container{width:100%;max-width:450px;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.login-header{background:linear-gradient(135deg,#06c,#0052a3);padding:3rem 2rem;text-align:center;color:#fff}.logo-large h1{margin:0;font-size:2.5rem;font-weight:700;letter-spacing:-.5px}.tagline{margin:.5rem 0 0;font-size:1rem;opacity:.9;font-weight:300}.login-form-container{padding:2.5rem}.login-form-container h2{margin:0 0 .5rem;color:#2c3e50;font-size:1.75rem;font-weight:600}.login-subtitle{margin:0 0 2rem;color:#7f8c8d;font-size:.875rem}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid #f5c6cb;font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-size:.875rem;font-weight:500;color:#495057}.form-group input{padding:.875rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .2s ease;background-color:#fff}.form-group input:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.form-group input.error{border-color:#dc3545}.form-group input.error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.error-text{color:#dc3545;font-size:.875rem;margin-top:.25rem}.btn-login{width:100%;padding:1rem;background:linear-gradient(135deg,#06c,#0052a3);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #06c6}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{opacity:.6;cursor:not-allowed}.test-users-info{margin-top:2rem;padding-top:2rem;border-top:1px solid #e9ecef}.test-users-info h3{margin:0 0 1rem;color:#2c3e50;font-size:1rem;font-weight:600}.test-users-list{display:flex;flex-direction:column;gap:.75rem;background-color:#f8f9fa;padding:1rem;border-radius:8px;font-size:.875rem}.test-user{color:#495057;line-height:1.6}.test-user strong{color:#2c3e50;font-weight:600}.login-footer{padding:1.5rem 2.5rem;background-color:#f8f9fa;text-align:center;border-top:1px solid #e9ecef}.login-footer p{margin:.5rem 0;font-size:.875rem;color:#7f8c8d}.login-footer a{color:#06c;text-decoration:none;font-weight:500}.login-footer a:hover{text-decoration:underline}.footer-note{font-size:.75rem!important;font-style:italic;color:#95a5a6!important}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top-color:#06c;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-container h2{color:#dc3545;margin-bottom:.5rem}.error-container p{color:#7f8c8d}@media (max-width: 768px){.login-page{padding:1rem}.login-container{max-width:100%}.login-header{padding:2rem 1.5rem}.logo-large h1{font-size:2rem}.login-form-container{padding:2rem 1.5rem}}.register-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.register-form-wrapper{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:600px;padding:3rem}.register-header{text-align:center;margin-bottom:2rem}.register-header h1{color:#2c3e50;margin:0 0 .5rem;font-size:2rem;font-weight:700}.register-header p{color:#7f8c8d;margin:0;font-size:1rem}.register-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{color:#2c3e50;font-weight:500;font-size:.95rem}.required{color:#e74c3c}.form-group input{padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:#667eea}.form-group input.error{border-color:#e74c3c}.error-message{color:#e74c3c;font-size:.875rem}.form-hint{color:#7f8c8d;font-size:.875rem;margin:0}.subdomain-input-wrapper{display:flex;align-items:center;gap:.5rem}.subdomain-input-wrapper input{flex:1}.subdomain-suffix{color:#7f8c8d;font-size:1rem;white-space:nowrap}.subdomain-status{font-size:.875rem;font-weight:500}.subdomain-status.checking{color:#3498db}.subdomain-status.available{color:#27ae60}.subdomain-status.invalid,.subdomain-status.unavailable{color:#e74c3c}.error-banner{background:#fee;border:1px solid #fcc;border-radius:6px;padding:1rem;color:#c33;font-size:.95rem}.btn-submit{padding:1rem;font-size:1.1rem;font-weight:600;margin-top:.5rem}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.register-footer{text-align:center;color:#7f8c8d;font-size:.9rem;margin-top:1rem}.register-footer a{color:#667eea;text-decoration:none;font-weight:500}.register-footer a:hover{text-decoration:underline}.register-success{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:3rem;text-align:center;max-width:600px}.success-icon{width:80px;height:80px;border-radius:50%;background:#27ae60;color:#fff;display:flex;align-items:center;justify-content:center;font-size:3rem;margin:0 auto 1.5rem}.register-success h1{color:#2c3e50;margin:0 0 1rem;font-size:2rem}.register-success p{color:#7f8c8d;margin:.75rem 0;line-height:1.6}.register-success strong{color:#2c3e50}@media (max-width: 768px){.register-form-wrapper,.register-success{padding:2rem}.register-header h1{font-size:1.5rem}}.dashboard{max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:2rem}.dashboard h1{margin-bottom:.5rem;color:#2c3e50}.dashboard-subtitle{color:#7f8c8d;font-size:1rem;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease,box-shadow .2s ease;position:relative;display:flex;flex-direction:column}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.stat-card:focus-within{outline:2px solid var(--color-focus, #0066cc);outline-offset:2px}.stat-icon{font-size:2rem;margin-bottom:.5rem;line-height:1}.stat-card h3{font-size:.9rem;color:#7f8c8d;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.stat-value{font-size:2.5rem;font-weight:600;color:#2c3e50;margin:.5rem 0;line-height:1.2}.stat-link{margin-top:auto;color:#06c;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s ease}.stat-link:hover,.stat-link:focus{color:#0052a3;text-decoration:underline}.stat-hint{margin-top:auto;font-size:.75rem;color:#7f8c8d;font-style:italic}.recent-patients-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem;margin-top:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.section-header h2{color:#2c3e50;font-size:1.5rem;margin:0}.view-all-link{color:#06c;text-decoration:none;font-weight:500;transition:color .2s ease}.view-all-link:hover,.view-all-link:focus{color:#0052a3;text-decoration:underline}.recent-patients-list{display:flex;flex-direction:column;gap:1rem}.recent-patient-card{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid #e9ecef;border-radius:8px;text-decoration:none;color:inherit;transition:all .2s ease}.recent-patient-card:hover,.recent-patient-card:focus{background-color:#f8f9fa;border-color:#06c;transform:translate(4px);outline:2px solid #0066cc;outline-offset:-2px}.patient-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#06c,#0052a3);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.patient-info{flex:1;min-width:0}.patient-info h4{margin:0 0 .25rem;color:#2c3e50;font-size:1rem;font-weight:600}.patient-meta{margin:0;color:#7f8c8d;font-size:.875rem}.patient-arrow{color:#7f8c8d;font-size:1.25rem;flex-shrink:0}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.recent-patient-card{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.stat-card,.recent-patient-card{transition:none}.stat-card:hover,.recent-patient-card:hover{transform:none}}.patient-search-filters{margin-bottom:2rem}.search-bar{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;color:#7f8c8d;pointer-events:none}.search-input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.clear-search{position:absolute;right:.5rem;background:none;border:none;font-size:1.5rem;color:#7f8c8d;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .2s ease}.clear-search:hover{color:#2c3e50}.filter-toggle{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#fff;border:1px solid #ced4da;border-radius:4px;cursor:pointer;font-size:1rem;color:#2c3e50;transition:all .2s ease;position:relative}.filter-toggle:hover{border-color:#3498db;color:#3498db}.filter-toggle.active{background-color:#3498db;color:#fff;border-color:#3498db}.filter-badge{background-color:#e74c3c;color:#fff;border-radius:10px;padding:.125rem .5rem;font-size:.75rem;font-weight:600;margin-left:.25rem}.filter-panel{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-row:last-of-type{margin-bottom:0}.filter-group select,.filter-group input[type=date]{padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;font-family:inherit}.filter-group select:focus,.filter-group input[type=date]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.filter-group.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;margin-bottom:0}.filter-group.checkbox-group input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.filter-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end}.btn-clear-filters{padding:.5rem 1rem;background-color:#95a5a6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s ease}.btn-clear-filters:hover{background-color:#7f8c8d}@media (max-width: 768px){.search-bar{flex-direction:column}.search-input-wrapper{width:100%}.filter-toggle{width:100%;justify-content:center}.filter-row{grid-template-columns:1fr}}.patient-bulk-actions{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#e8f4f8;border:1px solid #3498db;border-radius:4px;margin-bottom:1rem}.bulk-actions-info{color:#2c3e50;font-size:.875rem}.bulk-actions-info strong{color:#3498db;font-weight:600}.bulk-actions-buttons{display:flex;gap:1rem}.btn-bulk{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.btn-bulk:disabled{opacity:.6;cursor:not-allowed}.btn-export{background-color:#27ae60;color:#fff}.btn-export:hover:not(:disabled){background-color:#229954}.btn-archive{background-color:#e74c3c;color:#fff}.btn-archive:hover:not(:disabled){background-color:#c0392b}@media (max-width: 768px){.patient-bulk-actions{flex-direction:column;gap:1rem;align-items:stretch}.bulk-actions-buttons{flex-direction:column}.btn-bulk{width:100%}}.patients{max-width:1400px;margin:0 auto}.patients-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.patients-header h1{color:#2c3e50;margin:0 0 .5rem}.patients-count{color:#7f8c8d;font-size:.875rem;margin:0}.header-actions{display:flex;gap:1rem;align-items:center}.view-mode-toggle{display:flex;gap:.25rem;background:#fff;border:1px solid #ced4da;border-radius:4px;padding:.25rem}.view-mode-toggle button{padding:.5rem;background:none;border:none;cursor:pointer;color:#7f8c8d;border-radius:2px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.view-mode-toggle button:hover{background-color:#f8f9fa;color:#2c3e50}.view-mode-toggle button.active{background-color:#3498db;color:#fff}.btn-primary{background-color:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s ease}.btn-primary:hover:not(:disabled){background-color:#2980b9}.btn-secondary{background-color:#95a5a6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s ease}.patients-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.patients-table{width:100%;border-collapse:collapse;min-width:800px}.patients-table thead{background-color:#f8f9fa}.patients-table th{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e9ecef}.patients-table td{padding:1rem;border-bottom:1px solid #e9ecef}.patients-table tbody tr:hover{background-color:#f8f9fa}.action-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.btn-link{color:#3498db;text-decoration:none;font-weight:500;background:none;border:none;cursor:pointer;font-size:inherit;padding:0}.btn-link:hover{text-decoration:underline}.empty-state{text-align:center;color:#7f8c8d;padding:3rem!important}.patients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.patient-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.patient-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.patient-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.patient-card-header input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.patient-number{font-size:.875rem;color:#7f8c8d;font-weight:500}.patient-card-body h3{color:#2c3e50;margin:0 0 1rem;font-size:1.25rem}.patient-card-info{display:flex;flex-direction:column;gap:.5rem}.patient-card-info p{margin:0;font-size:.875rem;color:#495057}.patient-card-info strong{color:#2c3e50;margin-right:.5rem}.patient-card-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef;flex-wrap:wrap}@media (max-width: 768px){.patients-header{flex-direction:column;gap:1rem}.header-actions{width:100%;flex-wrap:wrap}.patients-grid{grid-template-columns:1fr}}.gms-status-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.card-header h3{margin:0;color:#2c3e50;font-size:1.25rem}.btn-refresh{padding:.5rem .75rem;border:none;border-radius:4px;background-color:#95a5a6;color:#fff;cursor:pointer;font-size:1rem;transition:background-color .2s ease;min-width:auto}.btn-refresh:hover:not(:disabled){background-color:#7f8c8d}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.card-body{display:flex;flex-direction:column;gap:1rem}.status-section{display:flex;flex-direction:column;gap:.75rem}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-weight:500;font-size:.875rem;width:fit-content}.status-icon{font-weight:600}.status-eligible{background-color:#d4edda;color:#155724}.status-not-eligible{background-color:#f8d7da;color:#721c24}.status-unknown{background-color:#d1ecf1;color:#0c5460}.status-expired{background-color:#fff3cd;color:#856404}.eligibility-dates{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid #e9ecef}.last-checked{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e9ecef;font-size:.75rem;color:#7f8c8d}.loading,.error{color:#7f8c8d;font-style:italic}.error{color:#dc3545}.btn-check-status{margin-top:1rem;width:100%}@media (max-width: 768px){.gms-status-card{padding:1rem}.info-item{flex-direction:column;align-items:flex-start;gap:.25rem}}.dps-drug-checker{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem}.card-header h3{margin:0 0 1.5rem;color:#2c3e50;font-size:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.card-body{display:flex;flex-direction:column;gap:2rem}.search-section,.check-section{display:flex;flex-direction:column;gap:1rem}.search-section h4,.check-section h4{margin:0;color:#2c3e50;font-size:1rem}.search-input-group{display:flex;gap:.5rem}.search-input{flex:1;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.search-input:focus{outline:2px solid var(--color-focus, #0066cc);outline-offset:2px;border-color:var(--color-focus, #0066cc)}.search-results{margin-top:1rem}.search-results h5{margin:0 0 .75rem;color:#495057;font-size:.875rem;font-weight:600}.drug-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.drug-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:4px;border:1px solid #e9ecef}.drug-info{display:flex;flex-direction:column;gap:.25rem}.drug-name{font-weight:500;color:#2c3e50}.drug-code{font-size:.75rem;color:#7f8c8d}.drug-codes-input{display:flex;flex-direction:column;gap:.75rem}.drug-code-input-group{display:flex;gap:.5rem;align-items:center}.drug-code-input{flex:1;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.drug-code-input:focus{outline:2px solid var(--color-focus, #0066cc);outline-offset:2px;border-color:var(--color-focus, #0066cc)}.btn-remove{padding:.5rem .75rem;border:none;border-radius:4px;background-color:#dc3545;color:#fff;cursor:pointer;font-size:1.25rem;line-height:1;transition:background-color .2s ease;min-width:auto}.btn-remove:hover{background-color:#c82333}.btn-add-drug{width:fit-content;align-self:flex-start}.btn-check{width:100%;margin-top:.5rem}.check-results{margin-top:1rem;padding-top:1.5rem;border-top:2px solid #e9ecef}.check-results h4{margin:0 0 1rem;color:#2c3e50;font-size:1rem}.result-summary{margin-bottom:1rem;padding:1rem;background:#f8f9fa;border-radius:4px}.result-summary p{margin:.5rem 0;color:#495057}.drug-results{display:flex;flex-direction:column;gap:.75rem}.drug-result{padding:1rem;border-radius:4px;border:1px solid #e9ecef}.drug-result.covered{background-color:#d4edda;border-color:#c3e6cb}.drug-result.not-covered{background-color:#f8d7da;border-color:#f5c6cb}.drug-result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.drug-result-header .drug-name{font-weight:600;color:#2c3e50}.coverage-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.coverage-badge.covered{background-color:#28a745;color:#fff}.coverage-badge.not-covered{background-color:#dc3545;color:#fff}.drug-result-details{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#495057}.max-payment{font-weight:500}.drug-notes{font-style:italic;color:#7f8c8d}.error-message{padding:1rem;background-color:#f8d7da;color:#721c24;border-radius:4px;border:1px solid #f5c6cb}@media (max-width: 768px){.dps-drug-checker{padding:1rem}.search-input-group{flex-direction:column}.drug-item{flex-direction:column;align-items:flex-start;gap:.5rem}}.consultation-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.consultation-form .form-group{margin-bottom:16px}.consultation-form .form-group label{display:block;margin-bottom:6px;font-weight:500;color:#555}.consultation-form .form-group input[type=text],.consultation-form .form-group input[type=date],.consultation-form .form-group input[type=time],.consultation-form .form-group select,.consultation-form .form-group textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.consultation-form .form-group textarea{resize:vertical;min-height:100px}.consultation-form .form-group .required{color:#d32f2f}.diagnosis-input-group{display:flex;gap:8px;margin-bottom:12px}.diagnosis-input-group input{flex:1}.diagnosis-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.diagnosis-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#e3f2fd;color:#1976d2;border-radius:16px;font-size:13px}.diagnosis-remove{background:none;border:none;color:#1976d2;cursor:pointer;font-size:18px;line-height:1;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.diagnosis-remove:hover{color:#d32f2f}.consultation-form .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid #e0e0e0}.quick-start-consultation-form{max-width:600px;margin:0 auto;padding:2rem}.quick-start-consultation-form .form-header{margin-bottom:2rem}.quick-start-consultation-form .form-header h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-primary)}.quick-start-consultation-form .form-subtitle{margin:0;color:var(--text-secondary);font-size:.9rem}.quick-start-consultation-form .form-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;margin-bottom:1rem}.quick-start-consultation-form .form-group{margin-bottom:1rem}.quick-start-consultation-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.quick-start-consultation-form .form-group input,.quick-start-consultation-form .form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;font-family:inherit}.quick-start-consultation-form .form-group input:focus,.quick-start-consultation-form .form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.quick-start-consultation-form .required{color:var(--error-color)}.quick-start-consultation-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.consultation-list{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a}.consultation-list-header{margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e0e0e0}.consultation-list-header h3{margin:0;font-size:20px;color:#333}.consultation-list-empty{background:#fff;border-radius:8px;padding:40px;text-align:center;color:#666}.consultation-items{display:flex;flex-direction:column;gap:16px}.consultation-item{border:1px solid #e0e0e0;border-radius:6px;padding:16px;cursor:pointer;transition:all .2s ease}.consultation-item:hover{border-color:#1976d2;box-shadow:0 2px 8px #1976d21a;transform:translateY(-2px)}.consultation-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.consultation-date{font-size:16px;color:#333}.consultation-time{color:#666;font-weight:400;font-size:14px}.consultation-item-body{display:flex;flex-direction:column;gap:8px}.consultation-reason,.consultation-staff,.consultation-diagnosis{font-size:14px;color:#555}.consultation-reason strong,.consultation-staff strong,.consultation-diagnosis strong{color:#333;margin-right:6px}.consultation-notes{font-size:14px;color:#666;line-height:1.5;margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0}.consultation-artefacts{font-size:13px;color:#1976d2;margin-top:8px}.diagnosis-item{color:#555}.lab-result-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.lab-result-list-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.lab-result-list-header h3{margin:0;font-size:1.25rem;color:#2c3e50}.lab-result-list-empty{text-align:center;padding:2rem;color:#7f8c8d}.lab-result-items{display:flex;flex-direction:column;gap:1rem}.lab-result-item{border:1px solid #e0e0e0;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s ease;background:#fff}.lab-result-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.lab-result-item.critical{border-left:4px solid #dc3545;background:#fff5f5}.lab-result-item.abnormal{border-left:4px solid #ffc107;background:#fffbf0}.lab-result-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.lab-result-date{font-size:1rem;color:#2c3e50}.lab-result-time{font-weight:400;color:#7f8c8d;font-size:.875rem}.lab-result-header-right{display:flex;gap:.5rem;align-items:center}.lab-result-item-body{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;color:#555}.lab-result-lab,.lab-result-order,.lab-result-collection,.lab-result-indication,.lab-result-panels{display:flex;gap:.5rem}.lab-result-comments{margin-top:.5rem;padding:.75rem;background:#f8f9fa;border-radius:4px;border-left:3px solid #1976d2;font-style:italic;color:#555}.flag-badge{display:inline-block;padding:4px 8px;border-radius:8px;font-size:.75rem;font-weight:500}.review-badge{display:inline-block;padding:4px 8px;border-radius:8px;font-size:.75rem;font-weight:500}.lab-result-reviewed{margin-top:.5rem;padding:.5rem;background:#e8f5e9;border-radius:4px;font-size:.875rem;color:#2e7d32}.lab-result-actions{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e0e0e0;display:flex;gap:.5rem}.btn-review{background:#1976d2;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s ease}.btn-review:hover:not(:disabled){background:#1565c0}.btn-review:disabled{background:#ccc;cursor:not-allowed}.artefact-list{display:flex;flex-direction:column;gap:12px}.artefact-list-empty{padding:3rem 2rem;text-align:center;color:#666;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.artefact-list-empty .hint{font-size:.875rem;color:#999;margin-top:.5rem}.artefact-item{display:flex;gap:16px;padding:16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease}.artefact-item:hover{border-color:#1976d2;box-shadow:0 2px 8px #1976d21a;transform:translateY(-2px)}.artefact-icon{font-size:2rem;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:8px}.artefact-content{flex:1;min-width:0}.artefact-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:12px}.artefact-header h4{margin:0;font-size:1rem;color:#333;flex:1}.artefact-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.875rem;color:#666;margin-bottom:8px}.artefact-type{text-transform:capitalize;font-weight:500}.artefact-reference{color:#1976d2}.artefact-date{color:#999}.artefact-description{margin:0;font-size:.875rem;color:#555;line-height:1.5}.artefact-status{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize;flex-shrink:0}.artefact-status-draft{background:#fff3cd;color:#856404}.artefact-status-issued{background:#d1ecf1;color:#0c5460}.artefact-status-sent,.artefact-status-completed{background:#d4edda;color:#155724}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease;overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-small{width:100%;max-width:400px}.modal-medium{width:100%;max-width:700px}.modal-large{width:100%;max-width:1000px}.modal-full{width:100%;max-width:95vw;max-height:95vh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.5rem;color:#2c3e50}.modal-close{background:none;border:none;font-size:2rem;line-height:1;color:#7f8c8d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:#f0f0f0;color:#2c3e50}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}@media (max-width: 768px){.modal-content{max-height:95vh;margin:.5rem}.modal-body,.modal-header{padding:1rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;line-height:1}.modal-close:hover{color:#333}.modal-body{padding:1.5rem}.template-info,.patient-info,.variables-preview{margin-bottom:1.5rem;padding:1rem;background:#f9f9f9;border-radius:6px}.template-info h3,.patient-info h3,.variables-preview h3{margin:0 0 .5rem;font-size:1.1rem;color:#333}.template-info p,.patient-info p{margin:0;color:#666}.variables-hint{font-size:.9rem;color:#666;margin-bottom:.5rem}.variables-list{list-style:none;padding:0;margin:0}.variables-list li{padding:.5rem;margin-bottom:.25rem;background:#fff;border-radius:4px;font-size:.9rem}.variables-list code{background:#e3f2fd;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;color:#1976d2;font-weight:600}.variables-more{font-style:italic;color:#888}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #eee}.template-selector-modal{max-width:800px;max-height:90vh;display:flex;flex-direction:column}.template-selector-filters{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e0e0e0}.template-selector-loading,.template-selector-empty{text-align:center;padding:3rem 1rem;color:#7f8c8d}.template-selector-empty .hint{font-size:.9rem;margin-top:.5rem;color:#95a5a6}.template-selector-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;max-height:50vh;overflow-y:auto;padding:.5rem}.template-selector-item{padding:1.25rem;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease}.template-selector-item:hover{background:#e9ecef;border-color:#06c;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.template-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.template-item-header h3{margin:0;font-size:1.1rem;color:#2c3e50;flex:1}.template-category{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.template-category.category-letter{background:#e3f2fd;color:#1976d2}.template-category.category-referral{background:#f3e5f5;color:#7b1fa2}.template-category.category-prescription{background:#fff3e0;color:#e65100}.template-category.category-certificate{background:#e8f5e9;color:#388e3c}.template-category.category-form{background:#fce4ec;color:#c2185b}.template-category.category-report{background:#e0f2f1;color:#00796b}.template-category.category-other{background:#f5f5f5;color:#616161}.template-item-description{margin:.5rem 0;color:#6c757d;font-size:.9rem;line-height:1.5}.template-item-variables{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e0e0e0}.variables-count{font-size:.85rem;color:#6c757d;font-style:italic}@media (max-width: 768px){.template-selector-filters,.template-selector-list{grid-template-columns:1fr}}.appointment-scheduler{max-width:800px;margin:0 auto;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.appointment-scheduler h2{color:#2c3e50;margin-bottom:1.5rem;font-size:1.5rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid #0066cc;outline-offset:2px;border-color:#06c;box-shadow:0 0 0 3px #06c3}.form-group input:disabled,.form-group select:disabled{background-color:#f8f9fa;cursor:not-allowed}.field-hint{font-size:.75rem;color:#7f8c8d;margin-top:.25rem}.field-hint.error{color:#dc3545}.patient-file-list{display:flex;flex-direction:column;gap:1.5rem}.patient-file-list-loading,.patient-file-list-empty{text-align:center;padding:3rem 1rem;color:#7f8c8d}.patient-file-list-empty .hint{font-size:.9rem;margin-top:.5rem;color:#95a5a6}.file-list-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.filter-group label{font-weight:600;color:#495057;font-size:.9rem}.form-control{padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:all .2s ease}.file-list{display:flex;flex-direction:column;gap:.75rem}.file-item{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;transition:all .2s ease}.file-item:hover{border-color:#06c;box-shadow:0 2px 8px #0000001a}.file-item-icon{font-size:2rem;flex-shrink:0}.file-item-content{flex:1;min-width:0}.file-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.file-item-name{margin:0;font-size:1rem;color:#2c3e50;font-weight:600;word-break:break-word}.file-item-badges{display:flex;gap:.5rem;flex-shrink:0}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap}.badge-category{background:#e3f2fd;color:#1976d2}.badge-source{background:#f3e5f5;color:#7b1fa2}.file-item-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.875rem;color:#6c757d;margin-bottom:.5rem}.file-meta-item{white-space:nowrap}.link-button{background:none;border:none;color:#06c;cursor:pointer;font-size:.875rem;text-decoration:underline;padding:0;transition:color .2s ease}.link-button:hover{color:#0052a3}.file-item-description{margin:.5rem 0 0;font-size:.9rem;color:#495057;line-height:1.5}.file-item-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-icon{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:4px;font-size:1.2rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-icon:hover:not(:disabled){background:#f0f0f0;transform:scale(1.1)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon-danger:hover:not(:disabled){background:#ffe6e6}@media (max-width: 768px){.file-list-filters{grid-template-columns:1fr}.file-item{flex-direction:column}.file-item-actions{align-self:flex-end}}.patient-file-upload{padding:1.5rem}.upload-section{margin-bottom:1.5rem}.file-drop-zone{border:2px dashed #ced4da;border-radius:8px;padding:2rem;text-align:center;background:#f8f9fa;transition:all .2s ease;cursor:pointer}.file-drop-zone:hover{border-color:#06c;background:#f0f7ff}.file-drop-zone.drag-active{border-color:#06c;background:#e6f2ff;border-style:solid}.file-drop-zone.has-file{border-color:#28a745;background:#f0fff4}.file-input{display:none}.file-input-label{display:block;cursor:pointer;width:100%}.file-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-icon{font-size:3rem;margin-bottom:.5rem}.file-placeholder p{margin:0;color:#495057}.file-placeholder .hint{font-size:.875rem;color:#6c757d}.file-selected{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-radius:6px;border:1px solid #dee2e6}.file-icon{font-size:2rem;flex-shrink:0}.file-info{flex:1;text-align:left}.file-name{font-weight:600;color:#2c3e50;margin-bottom:.25rem}.file-size{font-size:.875rem;color:#6c757d}.remove-file-btn{background:#dc3545;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;line-height:1;transition:all .2s ease;flex-shrink:0}.remove-file-btn:hover{background:#c82333;transform:scale(1.1)}.form-fields{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.form-group label{font-weight:600;color:#495057;font-size:.9rem}.form-control{padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;font-family:inherit;transition:all .2s ease}.form-control textarea{resize:vertical;min-height:80px}.form-actions{display:flex;justify-content:flex-end;gap:1rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:#06c;color:#fff}.btn-primary:hover:not(:disabled){background:#0052a3;transform:translateY(-1px);box-shadow:0 4px 8px #0066cc4d}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.patient-detail{max-width:1400px;margin:0 auto;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2c3e50;line-height:1.5}.patient-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.patient-detail-header h1{color:#2c3e50;margin:0 0 .5rem;font-size:2rem;font-weight:700}.patient-subtitle{color:#7f8c8d;margin:0;font-size:.9rem;font-weight:500}.patient-actions{display:flex;gap:1rem}.btn-primary,.btn-secondary,.btn-danger{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .2s ease}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c0392b}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.patient-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .2s ease;border:2px solid transparent;min-height:110px}.summary-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px);border-color:#06c}.summary-card-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-card-icon.consultations{background:#e3f2fd;color:#1976d2}.summary-card-icon.lab-results{background:#fff3e0;color:#f57c00}.summary-card-icon.documents{background:#f3e5f5;color:#7b1fa2}.summary-card-icon.appointments{background:#e8f5e9;color:#388e3c}.summary-card-content{flex:1;min-width:0}.summary-card-value{font-size:2rem;font-weight:700;color:#2c3e50;line-height:1;margin-bottom:.25rem}.summary-card-label{font-size:.875rem;color:#7f8c8d;font-weight:500;letter-spacing:.2px}.summary-card-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500;margin-top:.5rem;margin-right:.5rem}.summary-card-badge.in-review{background:#fff3cd;color:#856404}.summary-card-badge.critical{background:#f8d7da;color:#721c24}.patient-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e9ecef;overflow-x:auto}.tab-button{padding:.75rem 1.5rem;border:none;background:none;color:#7f8c8d;font-size:1rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;white-space:nowrap;border-radius:6px 6px 0 0}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:.75rem;font-weight:600;background:#e9ecef;color:#495057}.tab-button.active .tab-badge{background:#06c;color:#fff}.tab-badge.warning{background:#fff3cd;color:#856404}.tab-button.active .tab-badge.warning{background:#ffc107;color:#000}.patient-tab-content{min-height:400px}.tab-content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.tab-content-header h2{color:#2c3e50;margin:0;font-size:1.5rem;font-weight:700}.tab-subtitle{color:#7f8c8d;margin:0;font-size:.95rem;font-weight:500}.overview-content,.patient-info{display:flex;flex-direction:column;gap:2rem}.pill-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.pill{background:#e8f0fe;color:#1a73e8;padding:.4rem .75rem;border-radius:999px;font-size:.875rem;border:1px solid #d2e3fc;font-weight:600}.pill-list.muted .pill{background:#f4f4f4;color:#555;border-color:#e0e0e0;font-weight:500}.badge.archived{background-color:#f8d7da;color:#721c24}.documents-content,.files-content{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.medical-intel-content{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:2rem}.medical-intel-charts-section{margin-top:1rem}.medical-intel-charts-section h3{color:#2c3e50;margin-bottom:1.5rem;font-size:1.25rem;font-weight:700}.intel-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.intel-chart-card{border:1px solid #e0e0e0;border-radius:8px;padding:1rem;background:#f8f9fa;box-shadow:0 1px 3px #00000014}.intel-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.intel-chart-header h3{margin:0;color:#2c3e50;font-weight:700}.intel-chart-meta{margin:.25rem 0 0;color:#7f8c8d;font-size:.9rem;font-weight:500}.mini-trend-chart{width:100%;height:140px}.chart-grid{stroke:#e0e0e0;stroke-width:1}.chart-line{stroke:#1976d2;stroke-width:2}.chart-point{stroke:#fff;stroke-width:1.5}.chart-point.normal{fill:#1976d2}.chart-point.abnormal{fill:#f39c12}.chart-point.critical{fill:#e74c3c}.intel-legend{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;color:#555;font-size:.9rem;font-weight:500}.intel-legend .dot{width:12px;height:12px;border-radius:50%;display:inline-block}.intel-legend .dot.normal{background:#1976d2}.intel-legend .dot.abnormal{background:#f39c12}.intel-legend .dot.critical{background:#e74c3c}.empty-state-hint{font-size:.875rem;margin-top:.5rem;color:#95a5a6}.artefacts-container{display:flex;flex-direction:column;gap:2rem}.consultation-artefacts-group{border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;background:#f8f9fa}.artefacts-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.artefacts-group-header h3{margin:0;color:#2c3e50;font-size:1.125rem}@media (max-width: 768px){.patient-detail-header{flex-direction:column;gap:1rem}.patient-actions{width:100%;flex-wrap:wrap}.patient-summary-cards{grid-template-columns:repeat(2,1fr)}.tab-content-header{flex-direction:column;align-items:flex-start;gap:1rem}}.family-selector{position:relative;width:100%}.family-selector-input{position:relative;display:flex;align-items:center}.family-selector-input input{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;font-family:inherit;cursor:pointer;background-color:#fff}.family-selector-input input:focus{outline:2px solid #0066cc;outline-offset:2px;border-color:#06c}.family-selector-input input.disabled{background-color:#f8f9fa;cursor:not-allowed}.clear-button{position:absolute;right:.5rem;background:none;border:none;font-size:1.5rem;color:#7f8c8d;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;line-height:1}.clear-button:hover{color:#495057}.family-selector-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:#fff;border:1px solid #ced4da;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:300px;overflow:hidden;display:flex;flex-direction:column}.search-box{padding:.75rem;border-bottom:1px solid #e9ecef}.search-box input{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem}.options-list{overflow-y:auto;max-height:250px}.option-item{width:100%;padding:.75rem;border:none;background:none;text-align:left;cursor:pointer;border-bottom:1px solid #f8f9fa;transition:background-color .2s ease}.option-item:hover{background-color:#f8f9fa}.option-item.selected{background-color:#e7f3ff}.option-item:last-child{border-bottom:none}.option-label{display:block;font-weight:500;color:#2c3e50;margin-bottom:.25rem}.option-description{display:block;font-size:.875rem;color:#7f8c8d;margin-bottom:.25rem}.option-meta{display:block;font-size:.75rem;color:#7f8c8d}.no-results,.loading{padding:1rem;text-align:center;color:#7f8c8d;font-size:.9rem}.patient-form{max-width:1000px;margin:0 auto;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;background-color:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--color-focus, #0066cc);outline-offset:2px;border-color:var(--color-focus, #0066cc);box-shadow:var(--focus-ring, 0 0 0 3px rgba(0, 102, 204, .2))}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{outline-color:#dc3545;border-color:#dc3545;box-shadow:0 0 0 3px #dc354533}.form-group textarea{resize:vertical;min-height:80px}.optional{color:#7f8c8d;font-size:.875rem;font-weight:400}.checkbox-group{flex-direction:row;align-items:flex-start;gap:.5rem}.checkbox-group input[type=checkbox]{width:18px;height:18px;margin-top:.25rem;flex-shrink:0;accent-color:var(--color-primary, #0066cc);cursor:pointer}.checkbox-group label{margin-bottom:0;cursor:pointer;flex:1}.btn-primary:focus-visible{outline:2px solid #0066cc;outline-offset:2px;box-shadow:0 0 0 3px #06c3}.btn-secondary:focus-visible{outline:2px solid #95a5a6;outline-offset:2px;box-shadow:0 0 0 3px #95a5a633}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.patient-form{padding:1rem}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}@media (prefers-contrast: high){.form-group input,.form-group select,.form-group textarea{border-width:2px}}@media (prefers-reduced-motion: reduce){.form-group input,.form-group select,.form-group textarea,.btn-primary,.btn-secondary{transition:none}}.patient-new{max-width:1200px;margin:0 auto}.patient-new h1{color:#2c3e50;margin-bottom:2rem}.patient-edit{max-width:1200px;margin:0 auto}.patient-edit h1{color:#2c3e50;margin-bottom:2rem}.appointment-calendar{width:100%;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.appointment-calendar .fc{font-family:inherit}.appointment-calendar .fc-header-toolbar{margin-bottom:1rem}.appointment-calendar .fc-button{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;padding:.5rem 1rem;border-radius:4px;font-weight:500}.appointment-calendar .fc-button:hover,.appointment-calendar .fc-button-active{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.appointment-calendar .fc-event{cursor:pointer;border-radius:4px;padding:2px 4px}.appointment-calendar .fc-event:hover{opacity:.8}.appointment-calendar .fc-daygrid-event{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.practitioner-columns{margin-top:1.5rem;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.pc-header{margin-bottom:1rem}.pc-title{font-size:1.1rem;font-weight:700;color:#111827}.pc-subtitle{color:#6b7280;font-size:.9rem}.pc-grid{display:grid;gap:4px;align-items:stretch}.pc-time-col,.pc-staff-col{padding:.5rem;background:#e5e7eb;font-weight:600;color:#111827;border-radius:6px 6px 0 0;text-align:center}.pc-staff-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-row{display:contents}.pc-time-cell{padding:.5rem;font-weight:600;color:#374151;background:#f3f4f6;border-radius:6px;text-align:center}.pc-slot{min-height:64px;padding:.5rem;border-radius:6px;border:1px solid #e5e7eb;background:#fff;display:flex;flex-direction:column;justify-content:center;gap:4px;font-size:.9rem}.pc-slot.available{background:#ecfdf3;border-color:#bbf7d0;color:#166534;text-align:center;font-weight:600}.pc-slot.booked{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.pc-slot-title{font-weight:600;line-height:1.2}.pc-slot-time{font-size:.85rem;color:#4b5563}.pc-slot-available{font-weight:700}@media (max-width: 900px){.pc-grid{grid-template-columns:100px repeat(auto-fit,minmax(160px,1fr))!important}}.appointment-kanban{display:flex;gap:1rem;overflow-x:auto;padding:1rem;min-height:600px}.kanban-column{flex:1;min-width:280px;background:#f9fafb;border-radius:8px;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.kanban-column-header{padding:1rem;background:#fff;border-top:4px solid;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.kanban-column-header h3{margin:0;font-size:1rem;font-weight:600;color:#1f2937}.kanban-count{background:#e5e7eb;color:#6b7280;padding:.25rem .5rem;border-radius:12px;font-size:.875rem;font-weight:500}.kanban-column-body{flex:1;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.75rem}.appointment-card-kanban{background:#fff;border-radius:6px;padding:1rem;box-shadow:0 1px 3px #0000001a;cursor:grab;transition:box-shadow .2s}.appointment-card-kanban:hover{box-shadow:0 4px 6px #0000001a}.appointment-card-kanban:active{cursor:grabbing}.appointment-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.appointment-card-header h4{margin:0;font-size:1rem;font-weight:600;color:#1f2937}.appointment-time{font-size:.875rem;color:#6b7280;font-weight:500}.appointment-card-body{margin-bottom:.5rem}.appointment-staff{margin:0 0 .25rem;font-size:.875rem;color:#4b5563}.appointment-type{margin:0 0 .25rem;font-size:.75rem;color:#6b7280;text-transform:capitalize}.appointment-reason{margin:.5rem 0 0;font-size:.75rem;color:#9ca3af;font-style:italic}.appointment-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;border-top:1px solid #e5e7eb}.appointment-date{font-size:.75rem;color:#6b7280}.kanban-column-body::-webkit-scrollbar{width:6px}.kanban-column-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.kanban-column-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.kanban-column-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.practitioner-availability{width:100%;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.pa-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.pa-title-section{flex:1}.pa-title{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 .5rem}.pa-date-range{color:#6b7280;font-size:.9rem}.pa-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.pa-view-toggle{display:flex;background:#f3f4f6;border-radius:6px;padding:4px;gap:4px}.pa-view-btn{padding:.5rem 1rem;border:none;background:transparent;border-radius:4px;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.pa-view-btn:hover{background:#e5e7eb;color:#111827}.pa-view-btn.active{background:#06c;color:#fff}.pa-date-nav{display:flex;gap:.5rem;align-items:center}.pa-nav-btn{padding:.5rem .75rem;border:1px solid #e5e7eb;background:#fff;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s ease;color:#374151}.pa-nav-btn:hover{background:#f9fafb;border-color:#d1d5db}.pa-date-picker{padding:.5rem;border:1px solid #e5e7eb;border-radius:4px;font-size:.875rem;font-family:inherit;cursor:pointer}.pa-date-picker:focus{outline:2px solid #0066cc;outline-offset:2px;border-color:#06c}.pa-grid-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.pa-grid{display:grid;gap:1px;background:#e5e7eb;min-width:100%}.pa-time-header,.pa-staff-header{background:#f9fafb;padding:1rem;font-weight:600;color:#111827;text-align:center;position:sticky;left:0;z-index:10}.pa-staff-header{display:flex;flex-direction:column;gap:.25rem}.pa-staff-date{font-size:.75rem;color:#6b7280;font-weight:500}.pa-staff-name{font-size:.875rem;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pa-time-cell{background:#f9fafb;padding:.75rem .5rem;font-size:.875rem;font-weight:600;color:#374151;text-align:right;position:sticky;left:0;z-index:5;border-right:2px solid #e5e7eb}.pa-slot{min-height:80px;padding:.5rem;background:#fff;display:flex;flex-direction:column;gap:4px;font-size:.8rem;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.pa-slot.available{background:#ecfdf5;border-color:#bbf7d0;color:#166534}.pa-slot.available:hover{background:#d1fae5;border-color:#86efac;transform:scale(1.02);box-shadow:0 2px 4px #0000001a}.pa-slot.booked{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;cursor:pointer}.pa-slot.booked:hover{background:#dbeafe;border-color:#93c5fd}.pa-slot.unavailable{background:#f9fafb;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}.pa-slot.closed{background:#fee2e2;border-color:#fecaca;color:#991b1b;cursor:not-allowed}.pa-slot-closed{display:flex;align-items:center;justify-content:center;height:100%;font-weight:600;color:#991b1b}.pa-slot-title{font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pa-slot-time{font-size:.75rem;color:#4b5563}.pa-slot-reason{font-size:.7rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.pa-slot-available{display:flex;align-items:center;justify-content:center;height:100%;font-weight:600;color:#166534}.pa-slot-unavailable{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af}@media (max-width: 1024px){.pa-header{flex-direction:column}.pa-controls{width:100%;justify-content:space-between}}@media (max-width: 768px){.practitioner-availability{padding:1rem}.pa-title{font-size:1.25rem}.pa-grid{font-size:.75rem}.pa-time-cell,.pa-time-header{padding:.5rem .25rem;font-size:.75rem}.pa-staff-header{padding:.75rem .5rem}.pa-staff-name{font-size:.75rem}.pa-staff-date{font-size:.65rem}.pa-slot{min-height:60px;padding:.375rem;font-size:.7rem}}.appointments-page{max-width:1200px;margin:0 auto;padding:2rem}.appointments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.appointments-header-actions{display:flex;gap:1rem;align-items:center}.view-toggle{display:flex;gap:.5rem;background:#f3f4f6;padding:.25rem;border-radius:6px}.view-toggle-btn{padding:.5rem 1rem;border:none;background:transparent;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;color:#6b7280;transition:all .2s}.view-toggle-btn:hover{background:#fff;color:#1f2937}.view-toggle-btn.active{background:#fff;color:var(--color-primary);box-shadow:0 1px 2px #0000001a}.appointments-header h1{color:#2c3e50;margin:0}.scheduler-container{margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border-radius:8px}.appointments-filters{display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;min-width:150px}.filter-group label{font-size:.875rem;font-weight:500;color:#495057;margin-bottom:.5rem}.filter-group select,.filter-group input{padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem}.appointments-list{display:flex;flex-direction:column;gap:1rem}.appointment-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.appointment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.appointment-header h3{color:#2c3e50;margin:0 0 .5rem;font-size:1.1rem}.appointment-datetime{color:#7f8c8d;font-size:.9rem;margin:0}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;text-transform:capitalize}.badge-scheduled{background-color:#cfe2ff;color:#084298}.badge-confirmed{background-color:#d1e7dd;color:#0f5132}.badge-in-progress{background-color:#fff3cd;color:#856404}.badge-completed{background-color:#d4edda;color:#155724}.badge-cancelled{background-color:#f8d7da;color:#721c24}.badge-no-show{background-color:#e2e3e5;color:#383d41}.appointment-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.detail-item{display:flex;flex-direction:column}.detail-item label{font-size:.75rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.detail-item p{font-size:.9rem;color:#2c3e50;margin:0}.appointment-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid #e9ecef}.btn-link.btn-warning{color:#ffc107}.btn-link.btn-warning:hover{color:#ffb300}.certificate-form{max-width:1000px;margin:0 auto;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e9ecef}.form-section:last-of-type{border-bottom:none}.form-section h2{color:#2c3e50;font-size:1.25rem;margin-bottom:1.5rem;font-weight:600}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group input[type=file]{padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.875rem;cursor:pointer;transition:border-color .2s ease}.form-group input[type=file]:focus{outline:2px solid var(--color-focus, #0066cc);outline-offset:2px;border-color:var(--color-focus, #0066cc)}.file-info{margin-top:.5rem;padding:.5rem;background-color:#e8f5e9;border-radius:4px;display:flex;gap:.5rem;align-items:center}.file-name{color:#2e7d32;font-weight:500;font-size:.875rem}.file-size{color:#7f8c8d;font-size:.75rem}.info-box{background-color:#e3f2fd;border-left:4px solid #2196f3;padding:1rem;border-radius:4px;margin:1.5rem 0}.info-box h3{color:#1976d2;font-size:1rem;margin:0 0 .5rem}.info-box p{color:#424242;font-size:.875rem;margin:0;line-height:1.6}.required{color:#dc3545;font-weight:600}.field-hint{display:block;font-size:.75rem;color:#7f8c8d;margin-top:.25rem}.error-message{color:#dc3545;font-size:.875rem;margin-top:.25rem;display:block}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc3545}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #e9ecef}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:120px}.btn-secondary:hover:not(:disabled){background-color:#7f8c8d}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.certificate-form{padding:1rem}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.certificate-list{margin-top:2rem}.certificates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.certificate-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.certificate-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.certificate-card.expired{border-left:4px solid #dc3545}.certificate-card.expiring-soon{border-left:4px solid #ffc107}.certificate-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.certificate-type-badge{background:linear-gradient(135deg,#06c,#0052a3);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.badge-expired{background-color:#f8d7da;color:#721c24}.badge-revoked{background-color:#fff3cd;color:#856404}.badge-pending{background-color:#d1ecf1;color:#0c5460}.certificate-card-body{flex:1}.certificate-card-body h3{color:#2c3e50;margin:0 0 .5rem;font-size:1.25rem}.certificate-description{color:#7f8c8d;font-size:.875rem;margin:0 0 1rem}.certificate-info{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.info-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.info-label{color:#7f8c8d;font-weight:500}.info-value{color:#2c3e50;font-weight:500}.info-value.expired{color:#dc3545;font-weight:600}.info-value.expiring-soon{color:#ffc107;font-weight:600}.warning-banner,.error-banner{padding:.75rem;border-radius:4px;margin-top:1rem;font-size:.875rem;font-weight:500}.warning-banner{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.error-banner{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.certificate-card-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef;flex-wrap:wrap}.btn-action{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1;min-width:80px}.btn-action:focus-visible{outline:2px solid var(--color-focus, #0066cc);outline-offset:2px}.btn-validate{background-color:#17a2b8;color:#fff}.btn-validate:hover{background-color:#138496}.btn-edit{background-color:#06c;color:#fff}.btn-edit:hover{background-color:#0052a3}.btn-activate{background-color:#28a745;color:#fff}.btn-activate:hover{background-color:#218838}.btn-revoke{background-color:#ffc107;color:#212529}.btn-revoke:hover{background-color:#e0a800}.btn-delete{background-color:#dc3545;color:#fff}.btn-delete:hover{background-color:#c82333}.empty-hint{font-size:.875rem;margin-top:.5rem}@media (max-width: 768px){.certificates-grid{grid-template-columns:1fr}.certificate-card-actions{flex-direction:column}.btn-action{width:100%}}.drugs-page{max-width:1600px;margin:0 auto;padding:2rem}.drugs-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.drugs-header h1{color:#2c3e50;margin:0 0 .5rem}.subtitle{color:#7f8c8d;font-size:.875rem;margin:0}.header-actions{display:flex;flex-direction:column;gap:1rem;align-items:flex-end}.sync-status{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;font-size:.875rem;color:#7f8c8d}.sync-info{font-weight:500}.sync-stats{font-size:.75rem}.drugs-filters{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.filter-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:1rem;align-items:end}.filter-group input,.filter-group select{padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.filter-group input:focus,.filter-group select:focus{outline:2px solid var(--color-focus, #0066cc);outline-offset:2px;border-color:var(--color-focus, #0066cc)}.drugs-content{display:grid;grid-template-columns:1fr;gap:2rem}.drugs-list{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.drugs-header-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.drugs-count{color:#7f8c8d;font-size:.875rem}.page-size-selector{display:flex;align-items:center;gap:.5rem}.page-size-selector label{font-size:.875rem;color:#495057;font-weight:500}.page-size-selector select{padding:.5rem .75rem;border:1px solid #ced4da;border-radius:4px;font-size:.875rem;background:#fff;cursor:pointer}.page-size-selector select:focus{outline:2px solid var(--color-focus, #0066cc);outline-offset:2px;border-color:var(--color-focus, #0066cc)}.drugs-table-container{overflow-x:auto}.drugs-table{width:100%;border-collapse:collapse}.drugs-table thead{background-color:#f8f9fa}.drugs-table th{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e9ecef}.drugs-table td{padding:1rem;border-bottom:1px solid #e9ecef}.drugs-table tbody tr:hover{background-color:#f8f9fa}.active-substances{font-size:.75rem;color:#7f8c8d;margin-top:.25rem}.status-badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.badge-withdrawn{background-color:#f8d7da;color:#721c24}.badge-interchangeable{background-color:#d1ecf1;color:#0c5460}.btn-link{background:none;border:none;color:#06c;cursor:pointer;text-decoration:underline;font-size:.875rem;padding:0}.drug-detail-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;position:sticky;top:2rem;max-height:calc(100vh - 4rem);overflow-y:auto}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e9ecef}.panel-header h2{margin:0;color:#2c3e50;font-size:1.25rem}.btn-close{background:none;border:none;font-size:1.5rem;color:#7f8c8d;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px}.btn-close:hover{background-color:#f8f9fa;color:#2c3e50}.panel-body{padding:1.5rem}.detail-section h3{margin:0 0 1.5rem;color:#2c3e50}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-item.full-width{grid-column:1 / -1}.detail-item label{font-size:.875rem;font-weight:500;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.detail-item p{margin:0;color:#2c3e50;font-size:1rem}.error{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1rem;border:1px solid #f5c6cb}.loading{text-align:center;padding:3rem;color:#7f8c8d}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e9ecef}.pagination-btn{padding:.5rem 1rem;border:1px solid #ced4da;border-radius:4px;background:#fff;color:#495057;font-size:.875rem;cursor:pointer;transition:all .2s ease;min-width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){background-color:#f8f9fa;border-color:#adb5bd;color:#212529}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background-color:#06c;color:#fff;border-color:#06c;font-weight:600}.pagination-btn.active:hover{background-color:#0052a3;border-color:#0052a3}.pagination-pages{display:flex;gap:.25rem;align-items:center}.pagination-ellipsis{padding:0 .5rem;color:#7f8c8d;font-size:.875rem}@media (max-width: 1200px){.drugs-content{grid-template-columns:1fr}.drug-detail-panel{position:relative;top:0;max-height:none}}@media (max-width: 768px){.drugs-page{padding:1rem}.filter-row{grid-template-columns:1fr}.drugs-table{font-size:.875rem}.drugs-table th,.drugs-table td{padding:.5rem}.drugs-header-info{flex-direction:column;align-items:flex-start}.pagination{flex-wrap:wrap;gap:.25rem}.pagination-pages{flex-wrap:wrap}.pagination-btn{min-width:2rem;height:2rem;padding:.25rem .5rem;font-size:.75rem}}.user-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:800px}.form-section{margin-bottom:2rem}.form-section h2{color:#2c3e50;margin-bottom:1.5rem;font-size:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;font-weight:500;color:#495057;margin-bottom:.5rem;font-size:.875rem}.form-group .required{color:#dc3545}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{outline:2px solid #0066cc;outline-offset:2px;border-color:#06c}.form-group input.error,.form-group select.error{border-color:#dc3545}.error-message{display:block;color:#dc3545;font-size:.875rem;margin-top:.25rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.form-hint{font-size:.875rem;color:#6c757d;margin-top:.25rem;margin-bottom:0}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid #e9ecef}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.user-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.user-table{width:100%;border-collapse:collapse}.user-table thead{background-color:#f8f9fa}.user-table th{padding:1rem;text-align:left;font-weight:600;color:#495057;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #dee2e6}.user-table td{padding:1rem;border-bottom:1px solid #e9ecef;color:#495057}.user-table tbody tr:hover{background-color:#f8f9fa}.user-table tbody tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.badge-admin{background-color:#dc3545;color:#fff}.badge-doctor{background-color:#06c;color:#fff}.badge-nurse{background-color:#28a745;color:#fff}.badge-receptionist{background-color:#ffc107;color:#212529}.badge-active{background-color:#d4edda;color:#155724}.badge-inactive{background-color:#f8d7da;color:#721c24}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.btn-link{background:none;border:none;color:#06c;cursor:pointer;padding:.25rem .5rem;font-size:.875rem;text-decoration:underline;transition:color .2s ease}.btn-link.btn-danger{color:#dc3545}.btn-link.btn-danger:hover{color:#c82333}.empty-state{padding:3rem;text-align:center;color:#6c757d}@media (max-width: 768px){.user-table{font-size:.875rem}.user-table th,.user-table td{padding:.75rem .5rem}.action-buttons{flex-direction:column;gap:.25rem}}.settings-clinic-hours{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.settings-section-header{margin-bottom:2rem}.settings-section-header h2{color:#2c3e50;margin:0 0 .5rem;font-size:1.5rem}.settings-section-header p{color:#7f8c8d;margin:0;font-size:.9rem}.clinic-hours-form{max-width:900px}.form-group{display:flex;flex-direction:column;margin-bottom:1.5rem}.form-group label{font-size:.875rem;font-weight:500;color:#495057;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid #0066cc;outline-offset:2px;border-color:#06c}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.clinic-hours-days{margin:2rem 0}.clinic-hours-days h3{color:#2c3e50;margin-bottom:1rem;font-size:1.25rem}.days-grid{display:flex;flex-direction:column;gap:1rem}.day-config{border:1px solid #e9ecef;border-radius:6px;padding:1rem;background:#f8f9fa}.day-header{margin-bottom:.75rem}.day-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;color:#2c3e50}.day-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.day-name{font-size:1rem}.day-fields{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #dee2e6}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e9ecef}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-primary{background-color:#06c;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0052a3}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover{background-color:#7f8c8d}.closed-periods-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #dee2e6}.closed-periods-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.closed-periods-header label{font-size:.875rem;font-weight:500;color:#495057;margin:0}.btn-add-closed-period{padding:.5rem 1rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-add-closed-period:hover{background-color:#218838}.closed-periods-list{display:flex;flex-direction:column;gap:.75rem}.closed-period-item{padding:.75rem;background:#fff;border:1px solid #dee2e6;border-radius:4px}.form-group-button{display:flex;align-items:flex-end;margin-bottom:0}.btn-remove-closed-period{padding:.5rem .75rem;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:1.25rem;font-weight:600;line-height:1;cursor:pointer;transition:background-color .2s ease;min-width:36px;height:42px;display:flex;align-items:center;justify-content:center}.btn-remove-closed-period:hover{background-color:#c82333}.settings-ai{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.settings-ai-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.settings-ai-header h2{margin:0 0 .5rem;color:#2c3e50;font-size:1.75rem}.settings-ai-subtitle{margin:0;color:#7f8c8d;font-size:.95rem}.settings-ai-content{max-width:800px}.settings-ai-section{margin-bottom:2.5rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #9b59b6}.settings-ai-section h3{margin:0 0 1.5rem;color:#2c3e50;font-size:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#495057;font-size:.95rem}.form-control{padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;transition:all .2s ease;background:#fff}.form-control:focus{outline:2px solid #9b59b6;outline-offset:2px;border-color:#9b59b6}.form-hint{margin:0;font-size:.875rem;color:#6c757d;line-height:1.5}.form-hint a{color:#9b59b6;text-decoration:none}.form-hint a:hover{text-decoration:underline}.api-key-input-wrapper{position:relative;display:flex;align-items:center}.api-key-input-wrapper .form-control{flex:1;padding-right:3rem}.toggle-api-key-btn{position:absolute;right:.5rem;background:none;border:none;cursor:pointer;padding:.5rem;font-size:1.2rem;color:#6c757d;transition:color .2s ease}.toggle-api-key-btn:hover{color:#2c3e50}.save-message{padding:1rem;border-radius:6px;margin-bottom:1.5rem;font-weight:500}.save-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.save-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.settings-ai-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.btn-primary{padding:.75rem 2rem;background:#9b59b6;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:#8e44ad;transform:translateY(-1px);box-shadow:0 4px 8px #9b59b64d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary:focus-visible{outline:2px solid #9b59b6;outline-offset:2px}.settings,.settings-content{max-width:1400px;margin:0 auto}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.settings-header h1{color:#2c3e50;margin:0 0 .5rem}.settings-subtitle{color:#7f8c8d;font-size:.875rem;margin:0}.settings-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e9ecef}.tab-button{padding:.75rem 1.5rem;border:none;background:none;color:#7f8c8d;font-size:1rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;text-decoration:none;display:inline-block;transition:all .2s ease}.tab-button:hover{color:#2c3e50}.tab-button.active{color:#06c;border-bottom-color:#06c}.settings-filters{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:500;color:#495057}.filter-group select{padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;max-width:300px}.filter-group select:focus{outline:2px solid var(--color-focus, #0066cc);outline-offset:2px;border-color:var(--color-focus, #0066cc)}.settings-info{margin-top:3rem;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.settings-info h2{color:#2c3e50;margin-bottom:1.5rem}.info-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.info-section{padding:1.5rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #0066cc}.info-section h3{color:#2c3e50;margin:0 0 1rem;font-size:1.125rem}.info-section p{color:#495057;margin:0 0 1rem;line-height:1.6}.info-section ul{margin:0;padding-left:1.5rem;color:#495057}.info-section li{margin-bottom:.5rem;line-height:1.6}.error{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:1rem}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1.5rem;border:1px solid #f5c6cb}@media (max-width: 768px){.settings-header{flex-direction:column;gap:1rem}.info-sections{grid-template-columns:1fr}}.families-page{max-width:1200px;margin:0 auto;padding:2rem}.families-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.families-header h1{color:#2c3e50;margin:0}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.empty-state p{color:#7f8c8d;margin-bottom:1.5rem;font-size:1.1rem}.families-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.family-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.family-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.family-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.family-card-header h2{color:#2c3e50;margin:0;font-size:1.25rem;flex:1}.family-card-actions{display:flex;gap:.5rem}.family-description{color:#7f8c8d;margin-bottom:1rem;font-size:.9rem}.family-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef}.family-info .info-item{display:flex;flex-direction:column}.family-info .info-item label{font-size:.75rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.family-info .info-item p{font-size:.9rem;color:#2c3e50;margin:0}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.add-family-member{position:relative}.btn-small{padding:.5rem 1rem;font-size:.875rem}.add-member-panel{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:1.5rem;min-width:400px;z-index:100}.search-section{margin-bottom:1rem}.search-section label{display:block;font-size:.875rem;font-weight:500;color:#495057;margin-bottom:.5rem}.search-section input{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;font-family:inherit}.search-section input:focus{outline:2px solid #0066cc;outline-offset:2px;border-color:#06c}.search-hint{font-size:.75rem;color:#7f8c8d;margin-top:.25rem;margin-bottom:0}.search-results{max-height:400px;overflow-y:auto}.no-results{padding:1rem;text-align:center;color:#7f8c8d;margin:0}.patient-list{list-style:none;padding:0;margin:0}.patient-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #e9ecef}.patient-item:last-child{border-bottom:none}.patient-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.patient-info strong{color:#2c3e50;font-size:.95rem}.patient-number,.patient-dob{font-size:.75rem;color:#7f8c8d}.loading{padding:1rem;text-align:center;color:#7f8c8d}.family-detail{max-width:1200px;margin:0 auto;padding:2rem}.family-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.family-detail-header h1{color:#2c3e50;margin:0 0 .5rem}.family-subtitle{color:#7f8c8d;margin:0;font-size:1rem}.family-actions{display:flex;gap:1rem}.family-info-sections{display:flex;flex-direction:column;gap:2rem}.info-section{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.info-section h2{color:#2c3e50;margin-bottom:1.5rem;font-size:1.25rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin:0}.info-item label{display:block;font-size:.875rem;color:#7f8c8d;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.info-item p.multiline{white-space:pre-wrap;line-height:1.6}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;margin-left:.5rem}.badge.active{background-color:#d4edda;color:#155724}.badge.inactive{background-color:#fff3cd;color:#856404}.badge.primary{background-color:#cfe2ff;color:#084298}.badge.dependent{background-color:#d1ecf1;color:#0c5460}.empty-members{text-align:center;padding:2rem;color:#7f8c8d}.members-list{display:flex;flex-direction:column;gap:1rem}.member-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;border:1px solid #e9ecef}.member-info{display:flex;justify-content:space-between;align-items:flex-start}.member-name h3{color:#2c3e50;margin:0 0 .5rem;font-size:1.1rem}.member-details{color:#7f8c8d;font-size:.9rem;margin:0}.member-actions{display:flex;gap:1rem;align-items:center}.btn-link.btn-danger{color:#e74c3c}.btn-link.btn-danger:hover{color:#c0392b}.loading,.error{padding:2rem;text-align:center;color:#7f8c8d}.error{color:#e74c3c}.create-artefact-form{display:flex;flex-direction:column;gap:1rem}.create-artefact-form .form-group{display:flex;flex-direction:column}.create-artefact-form .form-group label{margin-bottom:.5rem;font-weight:500;color:#333}.create-artefact-form .form-group .required{color:#d32f2f}.create-artefact-form .form-group input,.create-artefact-form .form-group select,.create-artefact-form .form-group textarea{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.create-artefact-form .form-group textarea{resize:vertical;min-height:100px}.create-artefact-form .form-group .content-editor{font-family:Courier New,monospace;font-size:.9rem;line-height:1.6;min-height:300px}.create-artefact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.create-artefact-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.consultation-detail{max-width:1400px;margin:0 auto}.consultation-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.consultation-detail-header h1{margin:0 0 .5rem;font-size:2rem;color:#2c3e50}.consultation-meta{display:flex;gap:1rem;align-items:center;color:#666;font-size:.875rem}.consultation-date{font-weight:500}.consultation-content{display:grid;grid-template-columns:1fr 300px;gap:2rem}.consultation-main{display:flex;flex-direction:column;gap:2rem}.consultation-section{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.consultation-section h2{margin:0 0 1.5rem;font-size:1.5rem;color:#2c3e50;border-bottom:2px solid #e0e0e0;padding-bottom:.75rem}.consultation-section h3{margin:0 0 1rem;font-size:1.25rem;color:#2c3e50}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e0e0e0}.section-header h2{margin:0;border:none;padding:0}.diagnosis-tag{display:inline-block;padding:.375rem .75rem;background:#e3f2fd;color:#1976d2;border-radius:16px;font-size:.875rem}.notes-content,.plan-content{white-space:pre-wrap;line-height:1.6;color:#333;padding:1rem;background:#f8f9fa;border-radius:4px;border-left:3px solid #1976d2}.consultation-sidebar{display:flex;flex-direction:column;gap:1.5rem}.detail-item label{font-size:.75rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.detail-item p{font-size:.875rem;color:#2c3e50;margin:0}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.status-in-progress{background:#fff3cd;color:#856404}.status-badge.status-completed{background:#d4edda;color:#155724}.status-badge.status-cancelled{background:#f8d7da;color:#721c24}.status-badge.status-no-show{background:#e2e3e5;color:#383d41}@media (max-width: 1024px){.consultation-content{grid-template-columns:1fr}.consultation-sidebar{order:-1}}.consultation-workspace{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary)}.workspace-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 2rem;background:#fff;border-bottom:1px solid var(--border-color)}.workspace-header .header-left{display:flex;gap:1rem;align-items:flex-start}.workspace-header .btn-back{padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-secondary);font-size:.9rem;transition:all .2s}.workspace-header .btn-back:hover{background:var(--bg-secondary);color:var(--text-primary)}.workspace-header h1{margin:0 0 .5rem;font-size:1.75rem;color:var(--text-primary)}.consultation-meta{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;font-size:.9rem;color:var(--text-secondary)}.consultation-meta .patient-name{font-weight:500;color:var(--text-primary)}.consultation-meta .saving-indicator{color:var(--primary-color);font-style:italic}.consultation-timer{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.timer-display{font-family:Courier New,monospace;font-size:1.1rem;font-weight:600;color:var(--text-primary);min-width:80px;text-align:center}.timer-control-btn{background:var(--primary-color, #007bff);color:#fff;border:none;border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all .2s;padding:0;flex-shrink:0;opacity:1;visibility:visible}.timer-control-btn svg{display:block;width:12px;height:12px;fill:#fff;flex-shrink:0}.timer-control-btn:hover{background:var(--primary-color-dark, #0056b3);transform:scale(1.05)}.timer-control-btn:active{transform:scale(.95)}.workspace-header .header-actions{display:flex;gap:1rem}.workspace-content{display:grid;grid-template-columns:1fr 320px;gap:2rem;padding:2rem;overflow-y:auto;flex:1}.workspace-main,.workspace-sidebar{display:flex;flex-direction:column;gap:1.5rem}.quick-actions-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.quick-actions-section h2{margin:0 0 1rem;font-size:1.1rem;color:var(--text-primary)}.quick-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;text-align:center}.quick-action-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.quick-action-btn .action-icon{font-size:2rem}.quick-action-btn .action-label{font-weight:500;font-size:.9rem}.workspace-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.workspace-section label{display:block;margin-bottom:.75rem;font-weight:600;color:var(--text-primary);font-size:1rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-hint{font-size:.85rem;color:var(--text-secondary);font-style:italic}.reason-input{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;font-family:inherit}.reason-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.notes-section{flex:1}.notes-editor{width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;font-family:Courier New,monospace;line-height:1.6;resize:vertical;min-height:400px}.notes-editor:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.diagnosis-input-group{display:flex;gap:.5rem;margin-bottom:1rem}.diagnosis-input{flex:1;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.diagnosis-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.diagnosis-list{display:flex;flex-wrap:wrap;gap:.5rem}.diagnosis-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--primary-color);color:#fff;border-radius:20px;font-size:.9rem}.diagnosis-remove{background:#ffffff4d;border:none;color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;padding:0}.diagnosis-remove:hover{background:#ffffff80}.plan-editor{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;font-family:inherit;line-height:1.6;resize:vertical}.plan-editor:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.sidebar-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.sidebar-section h3{margin:0 0 1rem;font-size:1rem;color:var(--text-primary)}.patient-info-card{padding:1rem;background:var(--bg-secondary);border-radius:4px}.patient-name-large{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.patient-detail{font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem}.detail-list{display:flex;flex-direction:column;gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.detail-item p{margin:0;color:var(--text-primary)}.empty-state-small{text-align:center;padding:1rem;color:var(--text-secondary);font-size:.9rem}.empty-state-small .empty-hint{font-size:.85rem;margin-top:.5rem;color:var(--text-tertiary)}.medications-list{margin-top:.75rem}.medications-list.past-medications{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.medications-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.medications-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.medication-item{padding:.5rem .75rem;background:var(--bg-secondary);border-radius:4px;font-size:.9rem;color:var(--text-primary);border-left:3px solid var(--primary-color)}.medication-item.past{background:#f5f5f5;border-left-color:var(--text-tertiary, #999);color:var(--text-secondary);opacity:.8}.btn-link-small{background:none;border:none;color:var(--primary-color);font-size:.85rem;cursor:pointer;padding:0;text-decoration:underline;font-weight:500;transition:color .2s}.btn-link-small:hover{color:var(--primary-color-dark, #0056b3)}.artefacts-container-workspace{display:flex;flex-direction:column;gap:1.5rem}.artefacts-group{display:flex;flex-direction:column;gap:.75rem}.artefacts-group-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.artefacts-group.past-artefacts{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.past-consultation-artefacts{margin-bottom:1rem}.past-consultation-artefacts:last-child{margin-bottom:0}.past-consultation-date{font-size:.8rem;color:var(--text-tertiary, #999);margin-bottom:.5rem;font-style:italic}.template-selector{display:flex;flex-direction:column;gap:1.5rem}.template-category-filter{display:flex;align-items:center;gap:1rem}.template-category-filter label{font-weight:500}.template-category-filter select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.template-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;max-height:500px;overflow-y:auto}.template-card-select{padding:1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;text-align:left;transition:all .2s}.template-card-select:hover{border-color:var(--primary-color);background:#fff;box-shadow:0 2px 8px #0000001a}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.template-card-header h4{margin:0;font-size:1rem;color:var(--text-primary)}.template-category-badge{padding:.25rem .5rem;background:var(--primary-color);color:#fff;border-radius:12px;font-size:.75rem;font-weight:500}.template-description{margin:0;font-size:.9rem;color:var(--text-secondary)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;text-transform:capitalize}.status-badge.status-in-progress{background:#e3f2fd;color:#1976d2}.status-badge.status-completed{background:#e8f5e9;color:#388e3c}.status-badge.status-cancelled{background:#ffebee;color:#d32f2f}.status-badge.status-no-show{background:#fff3e0;color:#f57c00}.lab-results{max-width:1400px;margin:0 auto}.lab-results-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.lab-results-header h1{margin:0 0 .5rem;font-size:2rem;color:#2c3e50}.subtitle{color:#7f8c8d;margin:0;font-size:.875rem}.header-actions{display:flex;gap:1rem}.lab-results-filters{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filter-group{display:flex;flex-direction:column}.filter-group label{font-size:.875rem;font-weight:500;color:#555;margin-bottom:.5rem}.filter-group input,.filter-group select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.lab-results-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.lab-results-table{width:100%;border-collapse:collapse;min-width:1000px}.lab-results-table thead{background-color:#f8f9fa}.lab-results-table th{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.lab-results-table th:first-child{width:40px;text-align:center;padding:1rem .5rem}.lab-results-table td:first-child{text-align:center;padding:1rem .5rem}.lab-results-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}.lab-results-table input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.lab-results-table td{padding:1rem;border-bottom:1px solid #f0f0f0;color:#333}.lab-results-table tbody tr:hover{background-color:#f8f9fa}.lab-results-table tbody tr.selectable-row{cursor:pointer}.lab-results-table tbody tr.selected-row{background-color:#e3f2fd!important;border-left:3px solid #2196f3}.lab-results-table tbody tr.selected-row:hover{background-color:#bbdefb!important}.lab-results-table tbody tr.selected-row.critical-row{background-color:#ffebee!important;border-left:3px solid #f44336}.lab-results-table tbody tr.selected-row.critical-row:hover{background-color:#ffcdd2!important}.lab-results-table tbody tr.selected-row.abnormal-row{background-color:#fff8e1!important;border-left:3px solid #ff9800}.lab-results-table tbody tr.selected-row.abnormal-row:hover{background-color:#ffecb3!important}.lab-results-table tbody tr.critical-row{background-color:#fff5f5;border-left:3px solid #dc3545}.lab-results-table tbody tr.abnormal-row{background-color:#fffbf0;border-left:3px solid #ffc107}.empty-state{text-align:center;padding:3rem;color:#7f8c8d}.flag-badge{display:inline-block;padding:4px 8px;border-radius:8px;font-size:.75rem;font-weight:500;margin-right:.5rem}.flag-badge.critical{background:#f8d7da;color:#721c24}.flag-badge.abnormal{background:#fff3cd;color:#856404}.flag-badge.normal{background:#d4edda;color:#155724}.review-badge{display:inline-block;padding:4px 8px;border-radius:8px;font-size:.75rem;font-weight:500;margin-right:.5rem}.result-type-badge{display:inline-block;padding:4px 8px;border-radius:8px;font-size:.75rem;font-weight:500;background:#e3f2fd;color:#1976d2}.btn-link{background:none;border:none;color:#06c;cursor:pointer;text-decoration:underline;font-size:.875rem;padding:0;font-family:inherit}.btn-link:hover{color:#0052a3}.lab-result-detail{max-width:1400px;margin:0 auto}.lab-result-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.header-left{display:flex;gap:1.5rem;align-items:flex-start}.btn-back{background:none;border:1px solid #ddd;color:#666;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.btn-back:hover{background:#f5f5f5;border-color:#999;color:#333}.lab-result-header h1{margin:0 0 .5rem;font-size:2rem;color:#2c3e50}.result-meta{color:#666;font-size:.875rem}.result-order{font-weight:500}.header-actions{display:flex;gap:.75rem}.lab-result-content{display:flex;flex-direction:column;gap:2rem}.result-section{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.result-section h2{margin:0 0 1.5rem;font-size:1.5rem;color:#2c3e50;border-bottom:2px solid #e0e0e0;padding-bottom:.75rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-item{display:flex;flex-direction:column}.info-item.full-width{grid-column:1 / -1}.info-item label{font-size:.875rem;color:#7f8c8d;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.info-item p{font-size:1rem;color:#2c3e50;margin:0}.comments-content{white-space:pre-wrap;line-height:1.6;color:#333;padding:1rem;background:#f8f9fa;border-radius:4px;border-left:3px solid #1976d2}.source-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize;background:#e3f2fd;color:#1976d2}.test-panel{margin-bottom:2rem;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.panel-header{background:#f8f9fa;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0}.panel-header h3{margin:0;font-size:1.25rem;color:#2c3e50}.test-results-table{width:100%;border-collapse:collapse}.test-results-table thead{background:#f8f9fa}.test-results-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#2c3e50;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0}.test-results-table td{padding:.75rem 1rem;border-bottom:1px solid #f0f0f0;color:#333}.test-results-table tbody tr:hover{background-color:#f8f9fa}.test-results-table tbody tr.critical-test{background-color:#fff5f5;border-left:3px solid #dc3545}.test-results-table tbody tr.abnormal-test{background-color:#fffbf0;border-left:3px solid #ffc107}.test-name{display:flex;flex-direction:column;gap:.25rem}.test-code{font-size:.75rem;color:#666;font-weight:400}.test-value{font-weight:600;font-size:1rem;color:#2c3e50}.test-unit{font-weight:400;color:#666;font-size:.875rem}.reference-range{font-size:.875rem;color:#666;font-family:Courier New,monospace}.test-flag{display:inline-block;padding:4px 8px;border-radius:8px;font-size:.75rem;font-weight:600}.test-flag.flag-high{background:#fff3cd;color:#856404}.test-flag.flag-low{background:#d1ecf1;color:#0c5460}.test-flag.flag-critical-high,.test-flag.flag-critical-low{background:#f8d7da;color:#721c24;font-weight:700}.test-flag.flag-abnormal{background:#fff3cd;color:#856404}.panel-notes{padding:1rem 1.5rem;background:#f8f9fa;border-top:1px solid #e0e0e0}.test-note{font-size:.875rem;color:#555;margin-bottom:.5rem;line-height:1.5}.test-note:last-child{margin-bottom:0}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge.status-pending{background:#fff3cd;color:#856404}.status-badge.status-final{background:#d4edda;color:#155724}.status-badge.status-preliminary{background:#d1ecf1;color:#0c5460}.status-badge.status-amended{background:#f8d7da;color:#721c24}.status-badge.status-cancelled{background:#e2e3e5;color:#383d41}.review-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.review-badge.in-review{background:#fff3cd;color:#856404}.review-badge.reviewed{background:#d4edda;color:#155724}.review-info{font-size:.875rem;color:#666;margin-left:.5rem}.templates-page{padding:2rem;max-width:1400px;margin:0 auto}.templates-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.templates-header h1{margin:0;font-size:2rem;color:#2c3e50}.templates-filters{margin-bottom:1.5rem;padding:1rem 1.5rem;background:#fff;border:1px solid #ced4da;border-radius:4px}.templates-filters label{display:flex;align-items:center;gap:.75rem;font-weight:500;color:#2c3e50}.templates-filters select{padding:.5rem .75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;background:#fff;color:#2c3e50;cursor:pointer}.templates-filters select:hover{border-color:#3498db}.templates-filters select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.template-card{background:#fff;border:1px solid #ced4da;border-radius:4px;padding:1.5rem;display:flex;flex-direction:column;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.template-card:hover{box-shadow:0 4px 12px #00000026;border-color:#3498db}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.template-card-header h3{margin:0;font-size:1.25rem;color:#2c3e50;flex:1;line-height:1.4;word-break:break-word}.template-category{padding:.375rem .875rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap;flex-shrink:0;letter-spacing:.025em}.template-description{color:#7f8c8d;font-size:.9rem;margin-bottom:1rem;line-height:1.6;flex:1}.template-meta{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#95a5a6;margin-bottom:1rem;padding-top:1rem;border-top:1px solid #ecf0f1;gap:1rem}.template-variables{display:flex;align-items:center}.template-date{text-align:right}.template-actions{display:flex;gap:.5rem;margin-top:auto}.template-actions a,.template-actions button{flex:1;padding:.625rem 1rem;font-size:.9rem;text-align:center;text-decoration:none;border-radius:4px;border:none;cursor:pointer;transition:all .2s ease;font-weight:500}.template-actions .btn-secondary{background-color:#95a5a6;color:#fff}.template-actions .btn-secondary:hover:not(:disabled){background-color:#7f8c8d}.template-actions .btn-danger{background-color:#e74c3c;color:#fff}.template-actions .btn-danger:hover:not(:disabled){background-color:#c0392b}.template-actions button:disabled{opacity:.6;cursor:not-allowed}.templates-empty{grid-column:1 / -1;text-align:center;padding:4rem 2rem;color:#7f8c8d;background:#fff;border:1px solid #ced4da;border-radius:4px}.templates-empty p{margin-bottom:1.5rem;font-size:1.1rem;color:#2c3e50}.templates-empty .btn-primary{background-color:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s ease;text-decoration:none;display:inline-block}.templates-empty .btn-primary:hover{background-color:#2980b9}.template-form-page{padding:2rem;max-width:800px;margin:0 auto}.template-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.template-form-header h1{margin:0;font-size:2rem;color:#333}.template-form{background:#fff;border:1px solid #ddd;border-radius:8px;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input[type=text],.form-group input[type=file],.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.form-group textarea{resize:vertical;min-height:100px}.file-info{margin-top:.5rem;padding:.5rem;background:#e8f5e9;border-radius:4px;color:#2e7d32;font-size:.9rem}.error-message{margin-top:.5rem;padding:.5rem;background:#ffebee;border-radius:4px;color:#c62828;font-size:.9rem}.form-help{margin-top:.5rem;font-size:.85rem;color:#666;line-height:1.5}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #eee}.patient-selector-modal{max-width:600px;max-height:90vh;display:flex;flex-direction:column}.patient-selector-search{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e0e0e0}.patient-selector-search label{display:block;font-weight:600;color:#495057;font-size:.9rem;margin-bottom:.5rem}.form-control{padding:.75rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;width:100%;transition:all .2s ease}.form-control:focus{outline:2px solid #0066cc;outline-offset:2px;border-color:#06c}.patient-selector-loading,.patient-selector-empty{text-align:center;padding:3rem 1rem;color:#7f8c8d}.patient-selector-empty .hint{font-size:.9rem;margin-top:.5rem;color:#95a5a6}.patient-selector-list{display:flex;flex-direction:column;gap:.75rem;max-height:50vh;overflow-y:auto;padding:.5rem}.patient-selector-item{padding:1.25rem;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease}.patient-selector-item:hover{background:#e9ecef;border-color:#06c;transform:translate(4px);box-shadow:0 4px 8px #0000001a}.patient-item-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.patient-item-header h3{margin:0;font-size:1.1rem;color:#2c3e50;flex:1}.patient-number{font-size:.85rem;color:#6c757d;font-weight:500}.patient-item-details{display:flex;gap:1rem;flex-wrap:wrap}.patient-detail{font-size:.9rem;color:#6c757d}.template-variable-manager{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:all .3s ease}.template-variable-manager>*:not(.variable-manager-header){transition:opacity .3s ease,max-height .3s ease}.variable-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;cursor:pointer}.header-left{display:flex;align-items:center;gap:12px}.collapse-toggle{background:none;border:none;padding:4px 8px;cursor:pointer;display:flex;align-items:center;color:#666;transition:transform .2s}.collapse-toggle:hover{color:#007bff}.collapse-icon{font-size:12px;transition:transform .2s;display:inline-block}.collapse-icon.collapsed{transform:rotate(-90deg)}.variable-manager-header h2{margin:0;font-size:24px;color:#333}.variable-count-badge{background:#e3f2fd;color:#1565c0;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.variable-filters{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:6px}.search-box{margin-bottom:15px}.search-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.filter-controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.category-filter{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.checkbox-label input[type=checkbox]{cursor:pointer}.validation-warnings{margin-bottom:20px}.warning{padding:12px;border-radius:4px;margin-bottom:10px}.warning-error{background:#fee;border-left:4px solid #dc3545;color:#721c24}.warning-info{background:#e7f3ff;border-left:4px solid #007bff;color:#004085}.variable-count{margin-bottom:20px;color:#666;font-size:14px}.extracted-count{color:#007bff;font-weight:500}.variables-by-category{display:flex;flex-direction:column;gap:30px}.variable-category-section{border:1px solid #e0e0e0;border-radius:6px;padding:20px;background:#fafafa}.category-header{display:flex;align-items:center;gap:10px;margin:0 0 15px;font-size:18px;color:#333;font-weight:600}.category-count{font-size:14px;color:#666;font-weight:400}.variables-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.variable-item{padding:15px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;transition:all .2s}.variable-item:hover{box-shadow:0 2px 8px #0000001a;border-color:#007bff}.variable-item.variable-used{border-left:4px solid #28a745}.variable-item.variable-existing{background:#f0f8ff}.variable-item-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.variable-name{font-family:Monaco,Menlo,Courier New,monospace;font-size:13px;color:#007bff;font-weight:600;background:#f0f0f0;padding:2px 6px;border-radius:3px}.badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.badge-used{background:#d4edda;color:#155724}.badge-existing{background:#cce5ff;color:#004085}.badge-required{background:#fff3cd;color:#856404}.variable-label{font-weight:600;color:#333;margin-bottom:4px;font-size:14px}.variable-description{color:#666;font-size:13px;margin-bottom:8px;line-height:1.4}.variable-meta{display:flex;gap:8px;margin-top:8px}.variable-type{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.type-string{background:#e3f2fd;color:#1565c0}.type-number{background:#f3e5f5;color:#6a1b9a}.type-date{background:#fff3e0;color:#e65100}.type-boolean{background:#e8f5e9;color:#2e7d32}.type-object{background:#f1f8e9;color:#558b2f}.no-variables{text-align:center;padding:40px;color:#999;font-size:16px}@media (max-width: 768px){.variables-list{grid-template-columns:1fr}.filter-controls{flex-direction:column;align-items:stretch}.category-filter{width:100%}}.template-preview-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.template-preview-modal{background:#fff;border-radius:8px;width:100%;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.preview-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.preview-modal-header h2{margin:0;font-size:20px;color:#333}.preview-modal-actions{display:flex;gap:10px}.btn-sm{padding:6px 12px;font-size:14px}.preview-modal-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:500px}.preview-html-content{flex:1;overflow-y:auto;padding:30px;background:#fff;font-family:Times New Roman,serif;line-height:1.6;color:#333}.odt-preview-content{max-width:800px;margin:0 auto}.odt-preview-content p{margin:0 0 12px}.odt-preview-content p:last-child{margin-bottom:0}.odt-table{width:100%;border-collapse:collapse;margin:20px 0}.odt-table td{border:1px solid #ddd;padding:8px 12px;text-align:left}.odt-table tr:nth-child(2n){background:#f9f9f9}.preview-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-size:16px}.preview-error{padding:40px;text-align:center}.preview-error p{margin:0 0 15px;color:#dc3545;font-size:16px}.preview-error-hint{color:#666!important;font-size:14px!important;margin-bottom:20px!important}@media (max-width: 768px){.template-preview-modal{max-width:100vw;max-height:100vh;border-radius:0}.preview-modal-header{flex-direction:column;align-items:stretch;gap:15px}.preview-modal-actions{justify-content:flex-end}}.template-detail-page{padding:2rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box;overflow-x:hidden}.template-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #eee}.back-link{display:inline-block;margin-bottom:.5rem;color:#666;text-decoration:none;font-size:.9rem}.back-link:hover{color:#333;text-decoration:underline}.template-detail-header h1{margin:.5rem 0;font-size:2rem;color:#333}.template-category{padding:.375rem .875rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap;letter-spacing:.025em;display:inline-block;margin-top:.5rem}.category-letter{background:#e3f2fd;color:#1976d2}.category-form{background:#f3e5f5;color:#7b1fa2}.category-referral{background:#fff3e0;color:#e65100}.category-certificate{background:#e8f5e9;color:#388e3c}.category-prescription{background:#fce4ec;color:#c2185b}.category-report{background:#e0f2f1;color:#00796b}.category-other{background:#f5f5f5;color:#616161}.template-detail-actions{display:flex;gap:1rem}.template-description-section,.template-variables-section,.template-info-section{margin-bottom:2rem;padding:1.5rem;background:#fff;border:1px solid #ddd;border-radius:8px;width:100%;box-sizing:border-box;overflow:hidden}.template-description-section h2,.template-variables-section h2,.template-info-section h2{margin:0 0 1rem;font-size:1.5rem;color:#333}.template-description-section p{color:#666;line-height:1.6}.variables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;width:100%;box-sizing:border-box}.variable-card{padding:1rem;background:#f9f9f9;border:1px solid #ddd;border-radius:6px;min-width:0;box-sizing:border-box;overflow:hidden;word-wrap:break-word}.variable-name{font-family:Courier New,monospace;font-weight:600;color:#1976d2;margin-bottom:.5rem;word-break:break-all;overflow-wrap:break-word;font-size:.9rem;line-height:1.4}.variable-label{font-weight:500;color:#333;margin-bottom:.25rem;word-wrap:break-word}.variable-description{font-size:.85rem;color:#666;margin-bottom:.5rem;word-wrap:break-word}.variable-meta{display:flex;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #eee;flex-wrap:wrap}.variable-type,.variable-category{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap;flex-shrink:0}.type-string{background:#e3f2fd;color:#1976d2}.type-number{background:#fff3e0;color:#e65100}.type-date{background:#e8f5e9;color:#388e3c}.type-boolean{background:#f3e5f5;color:#7b1fa2}.type-array{background:#fce4ec;color:#c2185b}.type-object{background:#e0f2f1;color:#00796b}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item label{font-weight:500;color:#666;font-size:.9rem}.info-item span{color:#333}.status-active{color:#388e3c;font-weight:600}.status-inactive{color:#c62828;font-weight:600}.feature-toggle-button{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;background:#007bff;color:#fff;border:none;font-size:24px;cursor:pointer;box-shadow:0 2px 8px #0003;z-index:10000;display:flex;align-items:center;justify-content:center;transition:all .2s}.feature-toggle-button:hover{background:#0056b3;transform:scale(1.1)}.feature-toggle-panel{position:fixed;bottom:80px;right:20px;width:350px;max-height:500px;background:#fff;border-radius:8px;box-shadow:0 4px 16px #0003;z-index:10001;display:flex;flex-direction:column;overflow:hidden}.feature-toggle-header{padding:16px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa}.feature-toggle-header h3{margin:0;font-size:18px;font-weight:600}.feature-toggle-header button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.feature-toggle-header button:hover{color:#000}.feature-toggle-content{padding:16px;overflow-y:auto;flex:1}.feature-toggle-item{margin-bottom:20px}.feature-toggle-item:last-child{margin-bottom:0}.feature-toggle-item label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500;margin-bottom:4px}.feature-toggle-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.feature-toggle-description{margin:4px 0 0 28px;font-size:12px;color:#666;line-height:1.4}.feature-toggle-footer{padding:12px 16px;border-top:1px solid #e0e0e0;background:#f8f9fa}.btn-reset{width:100%;padding:8px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;margin-bottom:8px}.btn-reset:hover{background:#c82333}.feature-toggle-hint{margin:0;font-size:11px;color:#666;text-align:center}.feature-toggle-hint code{background:#e9ecef;padding:2px 6px;border-radius:3px;font-size:10px}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary: #0066cc;--color-primary-dark: #0052a3;--color-primary-light: #3385d6;--color-text: #213547;--color-text-light: #495057;--color-background: #ffffff;--color-border: #ced4da;--color-error: #dc3545;--color-success: #28a745;--color-warning: #ffc107;--color-focus: #0066cc;--focus-ring: 0 0 0 3px rgba(0, 102, 204, .2)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--color-text);background-color:var(--color-background)}#root{width:100%;min-height:100vh}*:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:#fff;padding:8px 16px;text-decoration:none;z-index:1000;border-radius:0 0 4px}.skip-link:focus{top:0}.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}@media (prefers-contrast: high){:root{--color-border: #000000;--color-text: #000000}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
