:root{color:#1f2a2a;background:#f7f5ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}main{min-height:100vh}.dashboard-shell,.template-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0 48px}.app-header,.template-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0}.app-header svg{width:44px;height:44px;color:#6b5f45}.eyebrow{margin:0 0 4px;color:#6c5d46;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;color:#152323;font-size:clamp(2.1rem,5vw,4.25rem);line-height:1.03;letter-spacing:0}.selector-band{display:grid;gap:12px;margin:16px 0 22px;padding:18px;border:1px solid #ddd6c8;border-radius:8px;background:#fffdf8}.selector-band label{font-weight:800}.selector-row{display:grid;grid-template-columns:1fr auto;gap:12px}select,input{width:100%;min-height:46px;border:1px solid #cbc4b7;border-radius:8px;background:#fff;color:#1f2a2a;padding:0 14px}.selector-row button{min-height:46px;border:0;border-radius:8px;background:#1c6b5f;color:#fff;padding:0 18px;font-weight:800}.toolbar{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:#6c5d46}.toolbar svg{flex:0 0 auto}.template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.options-list{display:grid;gap:10px}.option-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto 24px;align-items:center;gap:12px;min-height:64px;border:1px solid rgba(255,255,255,.5);border-radius:10px;background:#ffffffa6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#1f2a2a;padding:10px 14px;text-align:left;transition:all .18s cubic-bezier(.16,1,.3,1)}.option-row:hover{border-color:#1c6b5f59;box-shadow:0 12px 30px #1c6b5f12;transform:translateY(-2px) scale(1.005)}.option-row.active{border-color:#1c6b5f;background:#f3fbf7d9}.option-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#efe8d9;color:#6b5f45}.option-row.active .option-icon{background:#dceee7;color:#1c6b5f}.option-title{min-width:0;color:#152323;font-size:1.02rem;font-weight:800;overflow-wrap:anywhere}.option-status{color:#706654;font-size:.92rem;white-space:nowrap}.template-card,.document-card{display:grid;justify-items:start;min-height:238px;border:1px solid rgba(255,255,255,.55);border-top:5px solid var(--accent);border-radius:12px;background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:inherit;padding:20px;text-align:left;transition:all .22s cubic-bezier(.16,1,.3,1)}.document-card{position:relative;border-top-color:#526c85}.document-card.pdf{border-top-color:#914047}.document-card.docx{border-top-color:#316b9f}.document-card.xlsx{border-top-color:#21725d}.template-card:hover,.document-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 16px 36px #1c6b5f14;border-color:#1c6b5f40}.card-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent)}.card-title{margin-top:18px;color:#152323;font-size:1.28rem;font-weight:850;line-height:1.18}.card-copy{margin-top:10px;color:#52605b}.card-source{align-self:end;margin-top:18px;color:#776b58;font-size:.82rem;overflow-wrap:anywhere}.format-pill{position:absolute;top:16px;right:16px;border:1px solid #ddd6c8;border-radius:999px;background:#fff;color:#52605b;padding:3px 8px;font-size:.72rem;font-weight:850}.document-card.pdf .card-icon{background:#f5e7e7;color:#914047}.document-card.docx .card-icon{background:#e8f0f8;color:#316b9f}.document-card.xlsx .card-icon{background:#e3f0ea;color:#21725d}.template-shell{--accent: #1c6b5f}.template-header{align-items:flex-start;border-bottom:1px solid #ddd6c8}.template-header.compact{align-items:center}.template-header>div{flex:1}.template-header h1{color:var(--accent)}.template-header p:last-child{max-width:680px;margin:12px 0 0;color:#52605b;font-size:1.05rem}.icon-button{display:inline-grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border:1px solid #cbc4b7;border-radius:8px;background:#fffdf8;color:#273331}.header-symbol{width:44px;height:44px;color:#6b5f45}.document-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.document-summary article{min-height:104px;border:1px solid #ddd6c8;border-radius:8px;background:#fffdf8;padding:16px}.document-summary span{display:block;margin-bottom:8px;color:#776b58;font-size:.78rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.document-summary strong{color:#172626;font-size:1.08rem;overflow-wrap:anywhere}.document-preview{max-width:780px}.clinical-form{display:grid;gap:18px;margin-top:22px}.form-section{border:1px solid rgba(255,255,255,.5);border-left:4px solid var(--accent);border-radius:8px;background:#ffffffbf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 18px #0f1a1a05;padding:22px}.form-section h2{margin-bottom:16px;color:#172626;font-size:1.12rem}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.form-grid label{display:grid;gap:6px}.form-grid span{color:#52605b;font-size:.82rem;font-weight:800}.form-grid input,.form-grid textarea,.form-table input{width:100%;border:1px solid #cbc4b7;border-radius:6px;background:#fff;color:#1f2a2a;padding:9px 10px}.form-grid textarea{resize:vertical}.wide-field{grid-column:span 2}.form-table-wrap{overflow-x:auto}.form-table{width:100%;min-width:920px;border-collapse:collapse}.form-table th,.form-table td{border:1px solid #ddd6c8;padding:8px;text-align:left;vertical-align:top}.form-table th{background:#efe8d9;color:#172626;font-size:.78rem;font-weight:850}.form-table input{min-width:110px;border-color:#e5ded1;padding:7px 8px}.signature-section{margin-bottom:16px}.clinic-letterhead p{margin-bottom:8px;color:#52605b}.checkbox-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.checkbox-grid label,.choice-row label{display:flex;align-items:center;gap:8px;color:#34403d;font-weight:700}.checkbox-grid input,.choice-row input{width:18px;height:18px;accent-color:#1c6b5f}.investigation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.abbrev-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.abbrev-grid span{border:1px solid #ece6da;border-radius:6px;background:#fff;color:#34403d;padding:8px 10px;font-size:.86rem;font-weight:750}.prescription-table{min-width:1100px}.prescription-instructions{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-table{display:grid;gap:10px}.choice-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px 110px;align-items:center;gap:12px;border:1px solid #ece6da;border-radius:8px;background:#fff;padding:12px}.choice-row strong{color:#172626}.indication-field{display:grid;gap:8px;margin-top:16px}.indication-field span{color:#52605b;font-size:.82rem;font-weight:800}.indication-field textarea,.full-width-textarea{width:100%;border:1px solid #cbc4b7;border-radius:6px;background:#fff;color:#1f2a2a;padding:10px;resize:vertical}.routine-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.routine-tile{min-height:170px;border:1px solid #ddd6c8;border-radius:8px;background:#fffdf8;padding:16px}.routine-tile svg{color:var(--accent)}.routine-tile h2{margin:12px 0 8px;font-size:1rem}.routine-tile p{margin:0;color:#52605b;font-size:.94rem}.list-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.template-column{border:1px solid #ddd6c8;border-radius:8px;background:#fffdf8;overflow:hidden}.column-heading{display:flex;align-items:center;gap:10px;padding:16px 18px;color:#fff}.recommended .column-heading{background:#21725d}.avoid .column-heading{background:#914047}.column-heading h2{margin:0;font-size:1.1rem}.food-group{padding:16px 18px;border-top:1px solid #ece6da}.food-group h3{margin-bottom:8px;color:#172626;font-size:1rem}.food-group ul{display:grid;gap:6px;margin:0;padding-left:20px;color:#4c5a56}@media(max-width:900px){.template-grid,.routine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.list-columns,.document-summary{grid-template-columns:1fr}.form-grid,.checkbox-grid,.abbrev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.dashboard-shell,.template-shell{width:min(100% - 24px,1180px);padding-top:18px}.app-header,.template-header{gap:12px;padding:16px 0}.app-header svg{display:none}h1{font-size:2rem}.selector-row,.template-grid,.routine-grid{grid-template-columns:1fr}.option-row{grid-template-columns:38px minmax(0,1fr) 22px}.option-status{grid-column:2;font-size:.86rem}.option-row>svg{grid-column:3;grid-row:1 / span 2}.template-card,.document-card{min-height:200px}.form-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.checkbox-grid,.choice-row,.abbrev-grid{grid-template-columns:1fr}}@media print{body{background:#fff}.icon-button,.selector-band,.toolbar{display:none}.dashboard-shell,.template-shell{width:100%;padding:0}.template-column,.routine-tile,.form-section{break-inside:avoid}.form-table{min-width:0;font-size:.72rem}}.auth-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:#f7f5ef}.auth-brand-side{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px;color:#fff;overflow:hidden}.gradient-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0d5c50,#1c6b5f,#316b9f 70%,#7e22ce);background-size:200% 200%;animation:gradientMove 12s ease infinite;z-index:1}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.brand-content{position:relative;z-index:2;max-width:480px}.eyebrow-light{margin:0 0 8px;color:#ffffffb3;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.brand-subtitle{margin-top:16px;color:#ffffffd9;font-size:1.05rem;line-height:1.6}.features-list{display:grid;gap:20px;margin-top:36px}.feature-item{display:flex;gap:16px;align-items:flex-start}.feature-icon{width:28px;height:28px;color:#38bdf8;flex-shrink:0}.feature-item h3{margin:0 0 4px;font-size:1.05rem;font-weight:700}.feature-item p{margin:0;color:#ffffffbf;font-size:.92rem}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:48px}.glass-auth-card{width:100%;max-width:440px;background:#ffffffbf;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.45);box-shadow:0 20px 40px #0f1a1a0f,0 1px 3px #00000005;border-radius:16px;padding:40px;transition:transform .3s ease}.auth-card-header{margin-bottom:24px}.auth-card-header h2{font-size:1.8rem;font-weight:850;color:#152323;margin:0 0 6px}.auth-card-header p{color:#52605b;font-size:.95rem;margin:0}.auth-error-banner{background:#fef2f2;border:1px solid #fee2e2;color:#b91c1c;padding:10px 14px;border-radius:8px;font-size:.88rem;font-weight:600;margin-bottom:20px}.auth-form{display:grid;gap:16px}.auth-input-group{display:grid;gap:6px}.auth-input-group label{color:#52605b;font-size:.82rem;font-weight:800}.input-icon-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;width:18px;height:18px;color:#776b58}.input-icon-wrapper input{padding-left:42px!important}.user-profile-status{display:flex;align-items:center;gap:12px;background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ddd6c8;border-radius:999px;padding:6px 14px}.profile-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#1c6b5f;color:#fff;font-weight:800;font-size:.85rem}.profile-info{display:flex;flex-direction:column}.profile-name{font-size:.82rem;font-weight:800;color:#152323}.profile-role{font-size:.72rem;color:#52605b}.sign-out-btn{background:transparent;border:1px solid #cbc4b7;color:#52605b;border-radius:8px;padding:6px 12px;font-size:.82rem;font-weight:700;transition:all .15s ease}.sign-out-btn:hover{background:#f5ece2;color:#914047;border-color:#914047}.auth-role-select{height:46px;border:1px solid #cbc4b7;border-radius:8px;background:#fff;padding:0 14px}.auth-submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;background:#1c6b5f;color:#fff;border:none;border-radius:8px;font-weight:800;cursor:pointer;transition:background-color .15s ease,transform .1s ease;margin-top:10px}.auth-submit-btn:hover{background:#0d5c50;transform:translateY(-1px)}.auth-submit-btn:active{transform:translateY(0)}.btn-arrow{width:18px;height:18px;transition:transform .15s ease}.auth-submit-btn:hover .btn-arrow{transform:translate(4px)}.toggle-auth-mode{background:transparent;border:none;color:#1c6b5f;font-weight:800;font-size:.88rem;cursor:pointer;padding:4px}.toggle-auth-mode:hover{text-decoration:underline}.auth-card-footer{margin-top:24px;text-align:center}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.animate-slide-up{animation:slideUp .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}input:focus,select:focus,textarea:focus{outline:none;border-color:#1c6b5f;box-shadow:0 0 0 4px #1c6b5f26}@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-brand-side{padding:32px 24px;min-height:250px}.auth-form-side{padding:32px 16px}.glass-auth-card{padding:24px}}
