@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/630e0b819503bca7-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/6eed223b32d97b82-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/793968fa3513f5d6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lexend Fallback;src:local("Arial");ascent-override:90.98%;descent-override:22.74%;line-gap-override:0.00%;size-adjust:109.91%}.__className_7511d4{font-family:Lexend,Lexend Fallback;font-style:normal}.__variable_7511d4{--font-lexend:"Lexend","Lexend Fallback"}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eb41fe{--font-display:"Fraunces","Fraunces Fallback"}

/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */.admin-dashboard{max-width:1400px;font-family:var(--font-lexend),sans-serif;margin:0 auto;padding:0 1rem}.admin-tabs{background:var(--ruana-white);border:2px solid var(--ruana-main);border-radius:var(--r-md)var(--r-md)0 0;margin-bottom:0;display:flex;overflow:hidden}.admin-tabs .tab{cursor:pointer;color:var(--ink-soft);font-family:var(--font-lexend),sans-serif;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:1rem;font-weight:500;transition:all .3s;display:flex}.admin-tabs .tab:hover{background:var(--ruana-light);color:var(--ruana-purple)}.admin-tabs .tab.active{background:var(--forest);color:var(--ruana-white)}.tab-content{background:var(--ruana-white);border-radius:0 0 var(--r-md)var(--r-md);border:2px solid var(--ruana-main);border-top:none;margin-bottom:2rem;padding:2rem}.content-header{border-bottom:1px solid var(--ruana-light);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.content-header h2{color:var(--ruana-dark);font-size:1.8rem;font-weight:400}.content-actions{gap:1rem;display:flex}.btn-refresh{border-radius:var(--r-sm);cursor:pointer;font-family:var(--font-lexend),sans-serif;background:var(--ruana-light);color:var(--ink-soft);border:none;border:1px solid var(--ruana-main);align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;text-decoration:none;transition:all .3s;display:inline-flex}.btn-refresh:hover{background:var(--ruana-main);color:var(--ruana-purple)}.quick-actions{flex-wrap:wrap;gap:1rem;margin-bottom:2rem;display:flex}.action-btn{border-radius:var(--r-sm);font-family:var(--font-lexend),sans-serif;cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.action-btn.primary{background:var(--forest);color:var(--ruana-white)}.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #a15c9c4d}.action-btn.secondary{background:var(--ruana-light);color:var(--ink-soft);border:1px solid var(--ruana-main)}.action-btn.secondary:hover{background:var(--ruana-main);color:var(--ruana-purple)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.dashboard-card{background:var(--ruana-white);border-radius:var(--r-md);border:2px solid var(--ruana-main);padding:1.5rem}.card-header{border-bottom:1px solid var(--ruana-light);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.card-header h3{color:var(--ruana-dark);font-size:1.2rem;font-weight:400}.view-all{color:var(--ruana-purple);border:1px solid var(--ruana-purple);border-radius:var(--r-xs);align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.9rem;text-decoration:none;transition:all .3s;display:inline-flex}.view-all:hover{background:var(--ruana-purple);color:var(--ruana-white);transform:translateY(-1px)}.status-overview{justify-content:space-around;gap:1rem;display:flex}.status-item{text-align:center}.status-count{width:60px;height:60px;color:var(--ruana-white);border-radius:50%;justify-content:center;align-items:center;margin:0 auto .5rem;font-size:1.5rem;font-weight:600;display:flex}.status-count.pending{background:var(--ruana-warning)}.status-count.completed{background:var(--forest)}.status-item span{color:var(--ink-soft);font-size:.9rem}.recent-orders{max-height:300px;overflow-y:auto}.order-item{border-bottom:1px solid var(--ruana-light);justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.order-item:last-child{border-bottom:none}.order-info{flex:1}.order-customer{color:var(--ruana-dark);margin-bottom:.25rem;font-weight:500}.order-package{color:var(--ink-soft);margin-bottom:.25rem;font-size:.9rem}.order-date{color:var(--ink-soft);font-size:.8rem}.order-status-price{text-align:right}.status-badge{border-radius:var(--r-md);margin-bottom:.25rem;padding:.25rem .5rem;font-size:.7rem;font-weight:500;display:inline-block}.order-price{color:var(--ruana-purple);font-size:.9rem;font-weight:600}.create-user-form{background:var(--ruana-light);border:2px solid var(--ruana-main);border-radius:var(--r-md);margin-bottom:2rem;padding:2rem}.create-user-form h3{color:var(--ruana-dark);margin-bottom:1.5rem;font-size:1.3rem;font-weight:400}.form-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.form-group{margin-bottom:1rem}.form-group label{color:var(--ruana-dark);margin-bottom:.5rem;font-size:.95rem;font-weight:500;display:block}.form-group input,.form-group select{border:2px solid var(--ruana-main);border-radius:var(--r-sm);width:100%;font-size:.95rem;font-family:var(--font-lexend),sans-serif;background:var(--ruana-white);padding:.75rem;transition:all .3s}.form-group input:focus,.form-group select:focus{border-color:var(--ruana-purple);outline:none;box-shadow:0 0 0 3px #a15c9c1a}.form-group small{font-size:.8rem}.form-group small,.form-help{color:var(--ink-soft);margin-top:.25rem;display:block}.form-help{opacity:.8;font-size:.75rem}.form-actions{justify-content:flex-end;gap:1rem;display:flex}.edit-form-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.edit-form-modal{background:var(--ruana-white);border-radius:var(--r-md);border:2px solid var(--ruana-main);width:100%;max-width:600px;max-height:90vh;padding:2rem;overflow-y:auto}.edit-form-modal h3{color:var(--ruana-dark);margin-bottom:1.5rem;font-size:1.3rem;font-weight:400}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.filters-section{flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;display:flex}.filter-group{flex-direction:column;min-width:200px}.filter-group label{color:var(--ruana-dark);font-size:.9rem;font-weight:500}.filter-group select{border:2px solid var(--ruana-main);border-radius:var(--r-xs);font-family:var(--font-lexend),sans-serif;background:var(--ruana-white);padding:.5rem}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:var(--ruana-green);pointer-events:none;position:absolute;left:.75rem}.search-input{border:2px solid var(--ruana-main);border-radius:var(--r-xs);font-family:var(--font-lexend),sans-serif;background:var(--ruana-white);width:250px;padding:.5rem .75rem .5rem 2.5rem}.search-input:focus{border-color:var(--ruana-purple);outline:none}.data-table{border-radius:var(--r-sm);border:1px solid var(--ruana-main);overflow-x:auto}.data-table table{border-collapse:collapse;background:var(--ruana-white);width:100%;min-width:720px}.data-table td,.data-table th{text-align:left;border-bottom:1px solid var(--ruana-light);padding:1rem}.data-table th{background:var(--ruana-light);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.data-table td,.data-table th{color:var(--ruana-dark);font-size:.9rem}.user-cell{flex-direction:column;gap:.25rem;display:flex}.user-cell strong{color:var(--ruana-dark)}.user-cell small{color:var(--ink-soft);font-size:.8rem}.designer-info{max-width:200px}.designer-compact{color:var(--ruana-dark);word-wrap:break-word;font-size:.85rem;font-weight:500;line-height:1.3}.payment-select,.status-select{border-radius:var(--r-xs);border:1px solid var(--ruana-main);font-size:.8rem;font-family:var(--font-lexend),sans-serif;padding:.25rem .5rem}.payment-select{font-weight:500}.payment-select.paid{color:#155724;background:#d4edda}.payment-select.pending{color:#856404;background:#fff3cd}.payment-select.failed{color:#721c24;background:#f8d7da}.status-warning{color:#856404;background:#fff3cd}.status-progress{color:#0c5460;background:#d1ecf1}.status-success{color:#155724;background:#d4edda}.payment-badge{border-radius:var(--r-md);padding:.25rem .5rem;font-size:.8rem;font-weight:500}.payment-badge.paid{color:#155724;background:#d4edda}.payment-badge.pending{color:#856404;background:#fff3cd}.role-badge{border-radius:var(--r-md);text-transform:uppercase;padding:.25rem .5rem;font-size:.8rem;font-weight:500}.role-badge.customer{color:#1976d2;background:#e3f2fd}.role-badge.designer{color:#7b1fa2;background:#f3e5f5}.role-badge.admin{color:#d63031;background:#ffeaa7}.action-buttons{gap:.5rem;display:flex}.btn-action{border-radius:var(--r-xs);cursor:pointer;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:.25rem;transition:all .3s;display:flex}.btn-action.view{color:#1976d2;background:#e3f2fd}.btn-action.view:hover{color:#fff;background:#1976d2}.btn-action.edit{color:#856404;background:#fff3cd}.btn-action.edit:hover{color:#fff;background:#856404}.btn-action.delete{color:#dc3545;background:#ffeaea}.btn-action.delete:hover{color:#fff;background:#dc3545}.btn-action.password{color:#6c63ff;background:#e8f4ff}.btn-action.password:hover{color:#fff;background:#6c63ff}.loading-state{gap:1rem}.empty-state,.loading-state{flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.empty-state h3{color:var(--ruana-dark)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.reports-section{margin-top:2rem}.reports-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.report-card{background:var(--ruana-white);border-radius:var(--r-md);border:2px solid var(--ruana-main);padding:1.5rem}.report-card h3{color:var(--ruana-dark);margin-bottom:1rem;font-weight:400}.report-stat{text-align:center}.report-number{color:var(--ruana-purple);margin-bottom:.5rem;font-size:2rem;font-weight:600;display:block}.report-label{color:var(--ink-soft);font-size:.9rem}.report-stats{flex-direction:column;gap:.75rem;display:flex}.report-item{border-bottom:1px solid var(--ruana-light);justify-content:space-between;padding:.5rem 0;display:flex}.report-item:last-child{border-bottom:none}.report-item span{color:var(--ink-soft)}.report-item strong{color:var(--ruana-dark)}@media (max-width:768px){.admin-dashboard{padding:0 .5rem}.dashboard-welcome h1{font-size:2rem}.admin-tabs{flex-direction:column}.admin-tabs .tab{justify-content:flex-start;padding:.75rem 1rem}.tab-content{padding:1.5rem}.content-header{flex-direction:column;align-items:flex-start;gap:1rem}.content-actions{justify-content:flex-start;width:100%}.form-grid{grid-template-columns:1fr}.filters-section{flex-direction:column;gap:1rem}.filter-group{min-width:auto}.search-input{width:100%}.data-table{font-size:.8rem}.data-table table{min-width:620px}.dashboard-grid,.reports-grid{grid-template-columns:1fr}.edit-form-modal{margin:.5rem;padding:1.5rem}}@media (max-width:480px){.create-user-form,.edit-form-modal{padding:1rem}.form-actions,.modal-actions{flex-direction:column}.data-table td,.data-table th{padding:.5rem}.action-buttons,.quick-actions{flex-direction:column}}.btn-action.violations{color:#b3261e;background:#fdeaea}.btn-action.violations:hover{background:#f9d5d5}.payment-qris{background:var(--ruana-white);border-radius:var(--r-md);border:2px solid var(--ruana-main);max-width:600px;margin:0 auto;padding:2rem}.payment-header{text-align:center;border-bottom:1px solid var(--ruana-main);margin-bottom:2rem;padding-bottom:1.5rem}.payment-header h2{color:var(--ruana-dark);margin-bottom:1rem;font-size:1.8rem;font-weight:400}.payment-amount{justify-content:space-between;align-items:center;font-size:1.2rem;display:flex}.payment-amount span{color:var(--ink-soft)}.payment-amount strong{color:var(--ruana-purple);font-size:1.5rem;font-weight:600}.payment-error{color:var(--ruana-error);border-radius:var(--r-sm);border-left:4px solid var(--ruana-error);background:#ffeaea;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1rem;display:flex}.payment-init{text-align:center;padding:2rem}.payment-init p{color:var(--ink-soft);margin-bottom:1.5rem;font-size:1.1rem}.payment-loading{flex-direction:column;align-items:center;gap:1rem;padding:3rem;display:flex}.loading-spinner{border-top:3px solid var(--ruana-light);border:3px solid var(--ruana-light);border-top-color:var(--ruana-purple);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.qris-container{flex-direction:column;gap:1.5rem;display:flex}.qris-timer{color:#d97706;border-radius:var(--r-sm);background:#f6ecd0;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:1.1rem;font-weight:600;display:flex}.qris-code{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}.qr-image{text-align:center}.qr-img{border:2px solid var(--ruana-main);border-radius:var(--r-sm);background:var(--ruana-white);max-width:100%;height:auto;padding:1rem}.qr-instructions h3{color:var(--ruana-dark);margin-bottom:1rem;font-weight:400}.qr-instructions ol{color:var(--ink-soft);padding-left:1.2rem}.qr-instructions li{margin-bottom:.5rem;line-height:1.5}.qris-actions{justify-content:center;gap:1rem;display:flex}.btn-check,.btn-copy{border-radius:var(--r-sm);font-family:var(--font-lexend),sans-serif;cursor:pointer;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;transition:all .3s;display:flex}.btn-copy{background:var(--ruana-light);color:var(--ink-soft);border:1px solid var(--ruana-main)}.btn-copy:hover{background:var(--ruana-main);color:var(--ruana-purple)}.btn-check{background:var(--forest);color:var(--ruana-white);border:none}.btn-check:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #a15c9c4d}.btn-check:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinning{animation:spin 1s linear infinite}.qris-info{background:var(--ruana-light);border-radius:var(--r-sm);padding:1rem;font-size:.9rem}.qris-info p{color:var(--ink-soft);margin-bottom:.5rem}.qris-info p:last-child{margin-bottom:0}.qris-info strong{color:var(--ruana-dark)}.auto-check-notice{text-align:center;border-radius:var(--r-sm);color:var(--ink-soft);background:#6a82581a;padding:1rem;font-size:.9rem}.payment-status{text-align:center;padding:3rem 2rem}.payment-qris.success .payment-status h2,.payment-qris.success .payment-status svg{color:var(--ruana-success);margin-bottom:1rem}.payment-qris.success .payment-status h2{font-weight:400}.payment-qris.failed .payment-status h2,.payment-qris.failed .payment-status svg{color:var(--ruana-error);margin-bottom:1rem}.payment-qris.failed .payment-status h2{font-weight:400}.payment-status p{color:var(--ink-soft);margin-bottom:.5rem;line-height:1.6}.payment-page{background:var(--ruana-light);min-height:calc(100vh - 70px);padding:2rem 0}.payment-container{max-width:800px;margin:0 auto;padding:0 1rem}.payment-page-header{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.back-button{background:var(--ruana-white);border:2px solid var(--ruana-main);border-radius:var(--r-sm);cursor:pointer;color:var(--ink-soft);align-items:center;gap:.5rem;padding:.5rem;transition:all .3s;display:flex}.back-button:hover{background:var(--ruana-light);color:var(--ruana-purple)}.page-title h1{color:var(--ruana-dark);margin-bottom:.25rem;font-size:2rem;font-weight:400}.page-title p{color:var(--ink-soft);opacity:.8;font-size:.9rem}.order-summary-card{background:var(--ruana-white);border:2px solid var(--ruana-main);border-radius:var(--r-md);margin-bottom:2rem;padding:1.5rem}.order-summary-card h3{color:var(--ruana-dark);margin-bottom:1.5rem;font-size:1.3rem;font-weight:400}.summary-details{flex-direction:column;gap:1rem;display:flex}.summary-row{border-bottom:1px solid var(--ruana-light);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.summary-row:last-child{border-bottom:none}.summary-row.total{border-top:2px solid var(--ruana-main);margin-top:.5rem;padding-top:1rem;font-size:1.1rem}.summary-row span{color:var(--ink-soft)}.summary-row strong{color:var(--ruana-dark)}.summary-row.total strong{color:var(--ruana-purple);font-size:1.3rem}.payment-error-page,.payment-success-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:50vh;display:flex}.payment-success-page h2,.payment-success-page svg{color:var(--ruana-success)}.payment-success-page h2{font-weight:400}.payment-error-page h2{color:var(--ruana-error);font-weight:400}.payment-error-page p,.payment-success-page p{color:var(--ink-soft);line-height:1.6}@media (max-width:768px){.payment-qris{margin:0 .5rem;padding:1rem}.payment-header h2{font-size:1.5rem}.payment-amount{flex-direction:column;gap:.5rem}.qris-code{text-align:center;grid-template-columns:1fr;gap:1.5rem}.qr-instructions{text-align:left}.qris-actions{flex-direction:column}.btn-check,.btn-copy{justify-content:center}.payment-page{padding:1rem 0}.payment-container{padding:0 .5rem}.payment-page-header{flex-direction:column;align-items:flex-start;gap:1rem}.page-title h1{font-size:1.6rem}.order-summary-card{padding:1rem}.summary-row{flex-direction:column;align-items:flex-start;gap:.25rem}}@media (max-width:480px){.payment-qris{padding:.75rem}.payment-header{margin-bottom:1.5rem;padding-bottom:1rem}.qr-img{max-width:200px}.qr-instructions ol{padding-left:1rem}.qr-instructions li{font-size:.9rem}}.security-reminder{border-radius:var(--r-sm);background:#a15c9c14;border:1px solid #a15c9c40;align-items:flex-start;gap:.6rem;margin:1rem 0;padding:.9rem 1rem;display:flex}.security-reminder svg{color:var(--ruana-purple);flex-shrink:0;margin-top:2px}.security-reminder p{color:#5a3d57;margin:0;font-size:.85rem;line-height:1.5}.portfolio-container{background:var(--paper);min-height:calc(100vh - 76px);padding:0 0 clamp(3rem,6vw,5rem)}.portfolio-content{max-width:var(--container);margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}.portfolio-loading{min-height:55vh;color:var(--ink-faint);flex-direction:column;justify-content:center;align-items:center;gap:1rem;font-size:.9rem;display:flex}.portfolio-header{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(1.5rem,3vw,2.25rem)}.portfolio-header .eyebrow{margin-bottom:.85rem;display:block}.portfolio-header h1{font-family:var(--font-display),Georgia,serif;letter-spacing:-.025em;color:var(--ink);max-width:18ch;margin-bottom:.85rem;font-size:clamp(2.1rem,5vw,3.5rem);font-weight:400;line-height:1.05}.portfolio-header p{color:var(--ink-soft);max-width:46ch;font-size:clamp(.98rem,1.4vw,1.1rem)}.portfolio-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0 clamp(2rem,5vw,4rem);padding:1.25rem 0;display:flex}.stat-item{gap:.6rem;padding:.4rem 0}.stat-item,.stat-item>div{align-items:baseline;display:flex}.stat-item>div{gap:.55rem}.stat-item svg{display:none}.stat-item strong{font-family:var(--font-display),Georgia,serif;color:var(--ink);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:400;line-height:1}.stat-item span{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem;font-weight:500}.portfolio-filters{border-bottom:1px solid var(--line);align-items:center;gap:1rem;margin-bottom:clamp(1.5rem,3vw,2.5rem);padding:1.25rem 0;display:flex}.filter-group{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:.5rem;font-size:.68rem;font-weight:500;display:flex}.filter-group svg{display:none}.filter-buttons{gap:1rem;display:flex}.filter-select{border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--surface);color:var(--ink);cursor:pointer;min-width:15rem;transition:border-color var(--t-fast);padding:.6rem .85rem;font-size:.88rem}.filter-select:focus,.filter-select:hover{border-color:var(--ink);outline:none}.designers-list{border-top:1px solid var(--line);flex-direction:column;display:flex}.designer-row-group{border-bottom:1px solid var(--line);flex-direction:column;display:flex}.designer-row{transition:background var(--t-fast);gap:clamp(1.5rem,3vw,2.75rem);padding:clamp(1.5rem,3vw,2.25rem) 0;display:flex}.designer-row:hover{background:var(--surface)}.designer-info-panel{flex-direction:column;flex:0 0 clamp(15rem,24vw,19rem);gap:.85rem;min-width:0;display:flex}.designer-portfolio-panel{flex:1;align-items:flex-start;min-width:0;display:flex}.designer-reviews-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xs);flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.review-item{border-bottom:1px solid var(--line-soft);padding-bottom:1.25rem}.review-item:last-child{border-bottom:none;padding-bottom:0}.review-item-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.review-item-header strong{color:var(--ink);font-size:.92rem}.review-item .star-rating{color:var(--forest);gap:.1rem;display:flex}.review-item p{color:var(--ink-soft);margin:0 0 .5rem;font-size:.92rem;line-height:1.6}.review-item small{color:var(--ink-faint);letter-spacing:.04em;font-size:.72rem}.designer-card-header{align-items:center;gap:.9rem;display:flex}.designer-card-header-button{border-radius:var(--r-xs);text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;transition:background var(--t-fast);background:0 0;border:none;margin:-.4rem;padding:.4rem}.designer-card-header-button:hover{background:var(--paper-deep)}.designer-card-header-button:hover .designer-heading h3{color:var(--forest)}.designer-card-header-icon{color:var(--ink-faint);opacity:.6;transition:opacity var(--t-fast),color var(--t-fast);flex-shrink:0;margin-left:auto}.designer-card-header-button:hover .designer-card-header-icon{opacity:1;color:var(--forest)}.designer-avatar{flex-shrink:0}.avatar-img,.avatar-placeholder{border-radius:var(--r-round);border:1px solid var(--line-strong);width:56px;height:56px}.avatar-img{object-fit:cover;display:block}.avatar-placeholder{background:var(--paper-deep);color:var(--ink-faint);justify-content:center;align-items:center;display:flex}.designer-heading{flex:1;min-width:0}.designer-heading h3{font-family:var(--font-display),Georgia,serif;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;transition:color var(--t-fast);margin:0 0 .25rem;font-size:1.2rem;font-weight:400;overflow:hidden}.designer-rating-inline{color:var(--forest);align-items:center;gap:.3rem;font-size:.8rem;font-weight:500;display:inline-flex}.designer-rating-inline .review-count{color:var(--ink-faint);font-weight:400}.designer-badges{flex-wrap:wrap;gap:.35rem;display:flex}.type-badge{border:1px solid var(--line-strong);border-radius:var(--r-xs);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;flex-shrink:0;padding:.26rem .5rem;font-size:.64rem;font-weight:500}.type-badge,.type-badge.desainer{color:var(--ink-soft);background:0 0}.type-badge.rating-badge{color:var(--forest);border-color:var(--forest);align-items:center;gap:.3rem;display:inline-flex}.type-badge.vendor-badge{background:var(--forest);border-color:var(--forest);color:var(--ruana-white)}.designer-bio{color:var(--ink-soft);margin:0;font-size:.88rem;line-height:1.6}.designer-stats{color:var(--ink-faint);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:auto;padding-top:.5rem;font-size:.78rem;display:flex}.view-reviews-toggle{color:var(--ink);border:none;border-bottom:1px solid var(--line-strong);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast);background:0 0;flex-shrink:0;padding:0 0 .1rem;font-size:.78rem;font-weight:500}.view-reviews-toggle:hover{color:var(--forest);border-bottom-color:var(--forest)}.portfolio-strip{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--line-strong)transparent;gap:.5rem;width:100%;padding-bottom:.5rem;display:flex;overflow-x:auto}.portfolio-strip::-webkit-scrollbar{height:3px}.portfolio-strip::-webkit-scrollbar-thumb{background:var(--line-strong)}.portfolio-thumb{aspect-ratio:1;background:var(--paper-deep);cursor:pointer;scroll-snap-align:start;border:0;border-radius:0;flex:0 0 clamp(7rem,12vw,9.5rem);padding:0;position:relative;overflow:hidden}.portfolio-thumb img{object-fit:cover;width:100%;height:100%;transition:transform var(--t-slow);display:block}.portfolio-thumb:hover img{transform:scale(1.05)}.no-portfolio{color:var(--ink-faint);padding:1.5rem 0;font-size:.85rem}.review-count.no-rating{font-style:normal}.lightbox-backdrop{z-index:1000;background:#1c1e1aed;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex;position:fixed;inset:0}.lightbox-content{flex-direction:column;align-items:center;max-width:min(1000px,90vw);max-height:100%;display:flex}.lightbox-content img{object-fit:contain;background:#1c1e1a;border-radius:0;max-width:100%;max-height:76vh}.lightbox-caption{color:var(--ink-invert);text-align:center;margin-top:1.25rem}.lightbox-caption strong{font-family:var(--font-display),Georgia,serif;margin-bottom:.35rem;font-size:1.2rem;font-weight:400;display:block}.lightbox-caption p{color:#f8f6f0b8;margin:0 0 .6rem;font-size:.9rem}.lightbox-counter{letter-spacing:.16em;text-transform:uppercase;color:#f8f6f080;font-size:.68rem;font-weight:500}.lightbox-close{width:44px;height:44px;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close,.lightbox-nav{color:var(--ink-invert);border-radius:var(--r-xs);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast);background:0 0;border:1px solid #f8f6f04d;justify-content:center;align-items:center;display:flex}.lightbox-nav{width:48px;height:48px;flex-shrink:0}.lightbox-close:hover,.lightbox-nav:hover{background:#f8f6f01f;border-color:#f8f6f099}.empty-state{color:var(--ink-soft);max-width:40ch;padding:clamp(3rem,8vw,5rem) 0}.empty-state svg{color:var(--line-strong);margin-bottom:1.25rem}.empty-state h3{font-family:var(--font-display),Georgia,serif;color:var(--ink);margin-bottom:.5rem;font-size:1.5rem;font-weight:400}.empty-state p{margin-bottom:1.5rem;line-height:1.6}.portfolio-thumb-count{border-radius:var(--r-xs);color:#fff;text-align:center;background:#1c1e1ab8;min-width:1.3rem;padding:.12rem .35rem;font-size:.66rem;font-weight:500;position:absolute;top:.4rem;right:.4rem}@media (max-width:900px){.designer-info-panel{flex-basis:15rem}}@media (max-width:768px){.portfolio-filters{flex-direction:column;align-items:flex-start;gap:.75rem}.filter-buttons,.filter-select{width:100%;min-width:0}}@media (max-width:640px){.designer-row{flex-direction:column;gap:1.25rem}.designer-info-panel{flex-basis:auto}.designer-portfolio-panel{margin:0 calc(-1*clamp(1rem,4vw,2.5rem));padding:0 clamp(1rem,4vw,2.5rem)}.lightbox-nav{width:40px;height:40px}.lightbox-backdrop{gap:.5rem;padding:1rem}}@media (max-width:480px){.portfolio-stats{gap:0 1.75rem}.avatar-img,.avatar-placeholder{width:48px;height:48px}.type-badge{font-size:.6rem}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.75rem;display:flex;position:fixed;top:20px;right:20px}.toast{background:var(--ruana-white);border-radius:var(--r-md);pointer-events:auto;border-left:4px solid;align-items:flex-start;gap:.75rem;min-width:300px;max-width:400px;padding:1rem;animation:slideIn .3s ease-out;display:flex;box-shadow:0 10px 30px #00000026}.toast-success{border-left-color:var(--ruana-success)}.toast-error{border-left-color:var(--ruana-error)}.toast-warning{border-left-color:var(--ruana-warning)}.toast-info{border-left-color:var(--ruana-info)}.toast-icon{flex-shrink:0;margin-top:.1rem}.toast-success .toast-icon{color:var(--ruana-success)}.toast-error .toast-icon{color:var(--ruana-error)}.toast-warning .toast-icon{color:var(--ruana-warning)}.toast-info .toast-icon{color:var(--ruana-info)}.toast-content{flex:1}.toast-title{color:var(--ruana-dark);margin-bottom:.25rem;font-size:.95rem;font-weight:600;line-height:1.3}.toast-message{color:var(--ink-soft);font-size:.85rem;line-height:1.4}.toast-close{color:var(--ink-soft);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.toast-close:hover{color:var(--ruana-dark);background:#0000001a}.modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;padding:1rem;animation:fadeIn .2s ease-out;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--ruana-white);border-radius:var(--r-md);border:2px solid var(--ruana-main);width:100%;max-width:500px;padding:0;animation:scaleIn .3s ease-out;box-shadow:0 20px 60px #0000004d}.confirm-danger{border-color:var(--ruana-error)}.confirm-warning{border-color:var(--ruana-warning)}.confirm-info{border-color:var(--ruana-info)}.confirm-header{justify-content:space-between;padding:1.5rem 1.5rem 0}.confirm-header,.confirm-icon{align-items:center;display:flex}.confirm-icon{color:var(--ruana-error);background:#dc35451a;border-radius:50%;justify-content:center;width:48px;height:48px}.confirm-warning .confirm-icon{color:var(--ruana-warning);background:#ffc1071a}.confirm-info .confirm-icon{color:var(--ruana-info);background:#17a2b81a}.confirm-close{color:var(--ink-soft);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.confirm-close:hover{background:var(--ruana-light);color:var(--ruana-dark)}.confirm-content{padding:1rem 1.5rem}.confirm-title{color:var(--ruana-dark);margin-bottom:.75rem;font-size:1.3rem;font-weight:600;line-height:1.3}.confirm-message{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:.75rem;padding:0 1.5rem 1.5rem;display:flex}.btn-cancel{background:var(--ruana-light);color:var(--ink-soft);border:2px solid var(--ruana-main);border-radius:var(--r-sm);cursor:pointer;font-family:var(--font-lexend),sans-serif;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s}.btn-cancel:hover{background:var(--ruana-main);color:var(--ruana-purple)}.btn-confirm{border-radius:var(--r-sm);cursor:pointer;font-family:var(--font-lexend),sans-serif;color:var(--ruana-white);border:none;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s}.btn-danger{background:var(--ruana-error)}.btn-danger:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 4px 15px #dc35454d}.btn-warning{background:var(--ruana-warning);color:var(--ruana-dark)}.btn-warning:hover{background:#e0a800;transform:translateY(-1px);box-shadow:0 4px 15px #ffc1074d}.btn-info{background:var(--ruana-info)}.btn-info:hover{background:#138496;transform:translateY(-1px);box-shadow:0 4px 15px #17a2b84d}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.toast-container{top:10px;left:10px;right:10px}.toast{min-width:auto;max-width:none}.modal-overlay{padding:.5rem}.confirm-modal{border-radius:var(--r-md)}.confirm-header{padding:1rem 1rem 0}.confirm-content{padding:.75rem 1rem}.confirm-actions{flex-direction:column-reverse;padding:0 1rem 1rem}.btn-cancel,.btn-confirm{justify-content:center;width:100%}.confirm-title{font-size:1.1rem}.confirm-message{font-size:.9rem}}@media (max-width:480px){.toast-container{top:5px;left:5px;right:5px}.toast{border-radius:var(--r-sm);padding:.75rem}.toast-title{font-size:.9rem}.toast-message{font-size:.8rem}.confirm-icon{width:40px;height:40px}.confirm-header{padding:.75rem .75rem 0}.confirm-content{padding:.5rem .75rem}.confirm-actions{padding:0 .75rem .75rem}.btn-cancel,.btn-confirm{padding:.6rem 1rem;font-size:.9rem}}*{box-sizing:border-box;margin:0;padding:0}:root{--ruana-main:#e0dbbc;--ruana-purple:#a15c9c;--ruana-green:#6a8258;--ruana-white:#fff;--ruana-light:#f8f6f0;--ruana-dark:#2c2c2c;--ruana-error:#b3261e;--ruana-success:#3d6b45;--ruana-warning:#b4842a;--ruana-info:#4a6f80;--paper:#f8f6f0;--paper-deep:#f0ecdf;--surface:#fff;--forest:#6a8258;--forest-deep:#3d4b34;--plum:#a15c9c;--sand:#e0dbbc;--ink:#2c2c2c;--ink-soft:#55534d;--ink-faint:#86837a;--ink-invert:#f8f6f0;--line:#ddd7c0;--line-soft:#eae5d5;--line-strong:#c9c2a5;--line-invert:#f8f6f038;--r-none:0;--r-xs:2px;--r-sm:3px;--r-md:4px;--r-lg:6px;--r-round:50%;--r-pill:999px;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--section-y:clamp(3.5rem,8vw,7rem);--section-y-tight:clamp(2.5rem,5vw,4rem);--container:1240px;--container-narrow:760px;--shadow-pop:0 12px 32px #2c2c2c24;--shadow-overlay:0 24px 64px #2c2c2c3d;--ease:cubic-bezier(.22,.61,.36,1);--t-fast:.18s var(--ease);--t-base:.28s var(--ease);--t-slow:.6s var(--ease);--font-lexend:var(--font-lexend);--font-display:var(--font-display)}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-lexend),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background-color:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6}canvas,img,svg,video{max-width:100%}img{height:auto}h1,h2,h3,h4,label,li,p,small,strong,td,th{overflow-wrap:break-word}.display,.section-title,h1,h2{font-family:var(--font-display),Georgia,"Times New Roman",serif;letter-spacing:-.015em;color:var(--ink);font-weight:400;line-height:1.1}h3,h4,h5,h6{font-family:var(--font-lexend),sans-serif;letter-spacing:-.005em;font-weight:500}.display{letter-spacing:-.03em;font-size:clamp(2.5rem,6.4vw,4.75rem);line-height:1.02}.section-title{font-size:clamp(1.75rem,3.6vw,2.75rem);line-height:1.08}.eyebrow{font-family:var(--font-lexend),sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);font-size:.7rem;font-weight:500}.lead{color:var(--ink-soft);font-size:clamp(1.02rem,1.4vw,1.15rem);line-height:1.6}.meta{color:var(--ink-faint);font-size:.8rem;line-height:1.5}.accent-italic{font-family:var(--font-display),Georgia,serif;font-style:italic;font-weight:300}.container{max-width:var(--container)}.container,.container-narrow{width:100%;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}.container-narrow{max-width:var(--container-narrow)}.rule{border:0;border-top:1px solid var(--line);margin:0}.blueprint{position:relative}.blueprint:before{content:"";pointer-events:none;opacity:.75;background-image:repeating-linear-gradient(90deg,#2c2c2c0b 0 1px,#0000 1px 8.33333%);position:absolute;inset:0}.btn,.btn-outline,.btn-primary,.btn-secondary{border-radius:var(--r-xs);font-family:var(--font-lexend),sans-serif;letter-spacing:.01em;cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:.55rem;padding:.95rem 1.6rem;font-size:.95rem;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.btn-primary{background:var(--forest);color:var(--ruana-white);border-color:var(--forest)}.btn-primary:hover:not(:disabled){background:var(--forest-deep);border-color:var(--forest-deep)}.btn-secondary{color:var(--ink);border-color:var(--ink);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--ink);color:var(--paper)}.btn-outline{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--ink)}.btn-outline:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn:disabled{opacity:.45;cursor:not-allowed}.btn-outline svg,.btn-primary svg,.btn-secondary svg{transition:transform var(--t-base)}.btn-outline:hover svg,.btn-primary:hover svg,.btn-secondary:hover svg{transform:translate(3px)}.link-underline{color:var(--ink);border:0;border-bottom:1px solid var(--line-strong);cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast);background:0 0;align-items:center;gap:.4rem;padding:0 0 .2rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.link-underline svg{transition:transform var(--t-base)}.link-underline:hover svg{transform:translate(3px)}.link-underline:hover{color:var(--forest);border-bottom-color:var(--forest)}.status-screen{flex-direction:column;justify-content:center;align-items:flex-start;gap:.75rem;max-width:40rem;min-height:80vh;margin:0 auto;padding:2rem clamp(1rem,4vw,2.5rem);display:flex}.status-screen h1{font-size:clamp(1.75rem,4vw,2.5rem)}.status-screen p{color:var(--ink-soft);max-width:42ch;margin-bottom:.75rem}.status-screen-actions{flex-wrap:wrap;gap:.75rem;display:flex}.chip{border:1px solid var(--line);border-radius:var(--r-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;background:0 0;align-items:center;gap:.35rem;padding:.28rem .55rem;font-size:.7rem;font-weight:500;display:inline-flex}.chip-accent{border-color:var(--plum);color:var(--plum)}.chip-solid{background:var(--forest);border-color:var(--forest);color:var(--ruana-white)}.form-input,.form-select,.form-textarea,input,select,textarea{font-family:var(--font-lexend),sans-serif}.btn,.btn-back,.btn-next,.btn-outline,.btn-previous,.btn-primary,.btn-secondary,.btn-submit,.button,button,input[type=button],input[type=reset],input[type=submit]{font-family:var(--font-lexend),sans-serif!important}:focus-visible{outline:2px solid var(--plum);outline-offset:2px;border-radius:var(--r-xs)}.reveal{opacity:0;transition:opacity var(--t-slow),transform var(--t-slow);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.text-center{text-align:center}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.navbar{background:var(--paper);position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--line);transition:background var(--t-base),border-color var(--t-base)}.navbar.is-scrolled{background:rgba(248,246,240,.94);backdrop-filter:blur(8px);border-bottom-color:var(--line-strong)}.nav-container{max-width:var(--container);margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem);display:flex;align-items:center;gap:clamp(1rem,4vw,3rem);height:76px}.nav-brand{margin-right:auto}.nav-brand a{text-decoration:none}.brand-container{display:flex;align-items:center;gap:.7rem}.brand-logo{width:34px;height:34px;border-radius:var(--r-round)}.nav-brand .brand-text{font-family:var(--font-display),Georgia,serif;font-size:1.6rem;font-weight:400;letter-spacing:-.01em;color:var(--ink);line-height:1}.brand-descriptor{padding-left:.7rem;border-left:1px solid var(--line-strong);font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);line-height:1.3;white-space:nowrap}.nav-menu{display:flex;align-items:center;gap:clamp(1.25rem,2.6vw,2.25rem)}.nav-link{position:relative;color:var(--ink-soft);text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;padding:.4rem 0;transition:color var(--t-fast)}.nav-link.active,.nav-link:hover{color:var(--ink)}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--forest);transform:scaleX(0);transform-origin:left;transition:transform var(--t-base)}.nav-link.active:after,.nav-link:hover:after{transform:scaleX(1)}.auth-buttons,.nav-auth{display:flex;align-items:center;gap:1.25rem}.btn-login{color:var(--ink);text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;padding:.4rem 0;border-bottom:1px solid transparent;transition:border-color var(--t-fast)}.btn-login:hover{border-bottom-color:var(--ink)}.btn-register{background:var(--forest);color:var(--ruana-white);text-decoration:none;padding:.7rem 1.25rem;border-radius:var(--r-xs);font-size:.82rem;font-weight:500;letter-spacing:.06em;transition:background var(--t-fast)}.btn-register:hover{background:var(--forest-deep)}.user-menu{position:relative}.user-avatar{background:transparent;border:1px solid var(--line-strong);border-radius:var(--r-xs);padding:.55rem .9rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast);color:var(--ink);font-size:.85rem}.user-avatar:hover{border-color:var(--ink);background:var(--surface)}.user-avatar svg{color:var(--forest)}.user-name{font-weight:500;max-width:11ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-menu{position:absolute;top:calc(100% + .6rem);right:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xs);box-shadow:var(--shadow-pop);min-width:220px;overflow:hidden}.dropdown-header{padding:.9rem 1rem;background:var(--paper)}.user-email{display:block;font-size:.85rem;color:var(--ink);font-weight:500;overflow-wrap:anywhere}.user-role{display:block;font-size:.65rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.16em;margin-top:.3rem}.dropdown-divider{height:1px;background:var(--line-soft)}.dropdown-item{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;color:var(--ink);text-decoration:none;border:none;background:none;width:100%;text-align:left;cursor:pointer;transition:background var(--t-fast),color var(--t-fast);font-size:.9rem}.dropdown-item svg{color:var(--ink-faint)}.dropdown-item:hover{background:var(--paper);color:var(--forest)}.dropdown-item:hover svg{color:var(--forest)}.dropdown-item.logout,.dropdown-item.logout svg{color:var(--ruana-error)}.dropdown-item.logout:hover{background:rgba(179,38,30,.06);color:var(--ruana-error)}.mobile-toggle{display:none;background:none;border:none;color:var(--ink);cursor:pointer;padding:.5rem;margin-right:-.5rem}.mobile-menu{display:none;position:fixed;inset:76px 0 0;background:var(--paper);padding:clamp(1.5rem,6vw,2.5rem) clamp(1rem,5vw,2rem) 2rem;overflow-y:auto;z-index:999;animation:mobile-menu-in var(--t-base)}@keyframes mobile-menu-in{0%{opacity:0;transform:translateY(-8px)}}.mobile-link{display:block;font-family:var(--font-display),Georgia,serif;font-size:1.6rem;font-weight:400;color:var(--ink);text-decoration:none;padding:.8rem 0;border-bottom:1px solid var(--line-soft);transition:color var(--t-fast)}.mobile-link:hover{color:var(--forest)}.mobile-link.logout{color:var(--ruana-error);background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;cursor:pointer;font-family:var(--font-display),Georgia,serif!important;font-size:1.6rem}.mobile-auth{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem}.mobile-btn-login,.mobile-btn-register{display:block;text-align:center;padding:1rem;border-radius:var(--r-xs);text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:.04em}.mobile-btn-login{color:var(--ink);border:1px solid var(--ink)}.mobile-btn-register{background:var(--forest);color:var(--ruana-white)}.mobile-menu-meta{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line)}.mobile-menu-meta a{color:var(--ink-soft);font-size:.85rem;text-decoration:none}.mobile-menu-meta a:hover{color:var(--forest)}@media (max-width:900px){.nav-auth,.nav-menu{display:none}.mobile-menu,.mobile-toggle{display:block}}@media (max-width:620px){.brand-descriptor{display:none}}@media (max-width:480px){.nav-container{height:64px}.mobile-menu{inset:64px 0 0}.brand-logo{width:30px;height:30px}.nav-brand .brand-text{font-size:1.4rem}}