*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#0063a6;--primary-light:#2e8bcb;--primary-dark:#004e85;--accent:#c9a227;--accent-light:#e3c765;--accent-dark:#9c7c15;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--bg:#f8fafc;--card:#fff;--text:#1e293b;--text-light:#64748b;--border:#e2e8f0;--shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--radius:12px;--surface-2:#f8fafc;--surface-3:#f1f5f9;--surface-inset:#f8fafc;--tint-brand:#eaf3ff;--tint-blue:#dbeafe;--on-tint-blue:#1d4ed8;--tint-green:#d1fae5;--on-tint-green:#065f46;--tint-amber:#fef3c7;--on-tint-amber:#92400e;--tint-red:#fee2e2;--on-tint-red:#991b1b;--tint-violet:#ede9fe;--on-tint-violet:#6d28d9;--tint-blue-strong:#93c5fd;--tint-green-strong:#6ee7b7;--tint-amber-strong:#fcd34d;--tint-red-strong:#fca5a5;--glass-rgb:255,255,255;--scrim-rgb:245,250,255;--footer-bg:linear-gradient(135deg,#06172f 0%,#09254a 52%,#0d3a70 100%)}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font-family:inherit}.hidden{display:none!important}.auth-container{background:linear-gradient(135deg,#0063a6 0%,#004e85 55%,#00365e 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--card);width:100%;max-width:480px;box-shadow:var(--shadow-lg);border-radius:20px;padding:40px;animation:.5s slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-card h1{text-align:center;color:var(--primary-dark);margin-bottom:8px;font-size:28px;font-weight:700}.auth-card .subtitle{text-align:center;color:var(--text-light);margin-bottom:30px;font-size:14px}.auth-logo{text-align:center;margin-bottom:16px}.auth-logo img{object-fit:cover;border-radius:20px;width:72px;height:72px;box-shadow:0 14px 30px #0063a638}.form-group{margin-bottom:18px}.form-group label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group input,.form-group select{border:2px solid var(--border);background:var(--surface-2);border-radius:10px;width:100%;padding:12px 14px;font-size:14px;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:var(--primary);background:var(--card);outline:none;box-shadow:0 0 0 3px #0063a61a}.btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--primary);color:#fff}.auth-card .btn-primary{width:100%}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669}.btn-warning{background:var(--warning);color:#fff}.btn-warning:hover{background:#d97706}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-outline{border:2px solid var(--border);color:var(--text);background:0 0}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-sm{padding:8px 16px;font-size:12px}.auth-switch{text-align:center;color:var(--text-light);margin-top:20px;font-size:14px}.auth-switch button{color:var(--primary);cursor:pointer;background:0 0;border:0;font-weight:700}.role-cards{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.role-card{border:2px solid var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--card);padding:20px;transition:all .2s}.role-card:hover{border-color:var(--primary-light)}.role-card.active{border-color:var(--primary);background:#0063a60d}.role-card i{color:var(--primary);margin-bottom:8px;font-size:32px}.role-card .role-name{font-size:14px;font-weight:600}.dashboard{min-height:100vh;display:flex}.sidebar{background:var(--card);border-right:1px solid var(--border);z-index:100;width:260px;height:100vh;padding:20px 0;position:fixed;overflow-y:auto}.sidebar-brand{border-bottom:1px solid var(--border);margin-bottom:16px;padding:0 20px 20px}.sidebar-brand h2{color:var(--primary-dark);align-items:center;gap:10px;font-size:18px;display:flex}.brand-logo{object-fit:cover;border-radius:10px;flex:none;width:34px;height:34px;box-shadow:0 8px 18px #0063a633}.sidebar-brand p{color:var(--text-light);margin-top:4px;font-size:12px}.nav-item{cursor:pointer;width:100%;color:var(--text-light);text-align:left;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:12px;padding:12px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.nav-item:hover{color:var(--primary);background:#0063a60d}.nav-item.active{color:var(--primary);border-left-color:var(--primary);background:#0063a614;font-weight:600}.nav-item i{text-align:center;width:20px}.nav-section{text-transform:uppercase;letter-spacing:1px;color:var(--text-light);margin-top:8px;padding:8px 20px;font-size:11px}.main-content{flex:1;margin-left:260px;padding:24px}.top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.top-bar h1{font-size:24px;font-weight:700}.user-info{align-items:center;gap:12px;display:flex}.user-avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.user-details{font-size:14px}.user-details .name{font-weight:600}.role-badge{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600}.role-student{background:var(--tint-blue);color:var(--on-tint-blue)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:16px;padding:20px;display:flex}.stat-icon{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;display:flex}.stat-icon.blue{background:var(--tint-blue);color:var(--on-tint-blue)}.stat-icon.green{background:var(--tint-green);color:var(--on-tint-green)}.stat-icon.yellow{background:var(--tint-amber);color:var(--on-tint-amber)}.stat-icon.red{background:var(--tint-red);color:var(--on-tint-red)}.stat-icon.purple{background:var(--tint-violet);color:var(--on-tint-violet)}.stat-info h3{font-size:24px;font-weight:700}.stat-info p{color:var(--text-light);font-size:13px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;overflow:hidden}.card-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.card-header h2{font-size:16px;font-weight:700}.card-body{padding:20px}.rooms-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.room-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);transition:all .2s;overflow:hidden}.room-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.room-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:16px}.room-header h3{font-size:18px;font-weight:700}.room-header p{opacity:.9;font-size:13px}.room-beds{grid-template-columns:repeat(2,1fr);gap:8px;padding:16px;display:grid}.bed{text-align:center;cursor:pointer;border:2px solid #0000;border-radius:8px;padding:10px;font-size:13px;font-weight:600;transition:all .2s}.bed.free{background:var(--tint-green);color:var(--on-tint-green);border-color:var(--tint-green-strong)}.bed.free:hover{background:var(--tint-green-strong)}.bed.occupied{background:var(--tint-red);color:var(--on-tint-red);border-color:var(--tint-red-strong);cursor:default}.bed.repair{background:var(--tint-amber);color:var(--on-tint-amber);border-color:var(--tint-amber-strong);cursor:default}.bed.booked{background:var(--tint-blue);color:var(--on-tint-blue);border-color:var(--tint-blue-strong);cursor:default}.room-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;display:flex}.room-price{color:var(--primary);font-weight:700}.table-container{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:12px 16px;font-size:13px}th{background:var(--surface-2);color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}tr:hover{background:var(--surface-2)}.status-badge{border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.status-free,.status-available{background:var(--tint-green);color:var(--on-tint-green)}.status-occupied{background:var(--tint-red);color:var(--on-tint-red)}.status-repair{background:var(--tint-amber);color:var(--on-tint-amber)}.status-booked{background:var(--tint-blue);color:var(--on-tint-blue)}.status-pending{background:var(--tint-amber);color:var(--on-tint-amber)}.status-confirmed,.status-paid,.status-active{background:var(--tint-green);color:var(--on-tint-green)}.status-rejected,.status-cancelled,.status-expired{background:var(--tint-red);color:var(--on-tint-red)}.status-inactive{background:var(--border);color:var(--text)}.payment-methods{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0;display:grid}.payment-method{border:2px solid var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--card);padding:20px;transition:all .2s}.payment-method:hover{border-color:var(--primary-light)}.payment-method.active{border-color:var(--primary);background:#0063a60d}.payment-method i{margin-bottom:8px;font-size:28px}.pay-name{font-size:14px;font-weight:600}.pay-desc{color:var(--text-light);margin-top:4px;font-size:12px}.click-color{color:#00a651}.payme-color{color:#00b4d8}.uzum-color{color:#7b2fbe}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:20px;width:90%;max-width:560px;max-height:90vh;animation:.3s slideUp;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{font-size:18px}.modal-close{background:var(--surface-3);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .2s;display:flex}.modal-close:hover{background:var(--border)}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.floor-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.floor-tab{border:2px solid var(--border);cursor:pointer;background:var(--card);border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.floor-tab.active{border-color:var(--primary);background:var(--primary);color:#fff}.building-map{background:var(--surface-2);border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;padding:16px;display:grid}.room-box{text-align:center;cursor:pointer;border:2px solid;border-radius:10px;padding:16px 12px;font-size:13px;font-weight:600;transition:all .2s}.room-box:hover{transform:scale(1.05)}.room-box.r-free{background:var(--tint-green);border-color:var(--tint-green-strong);color:var(--on-tint-green)}.room-box.r-occupied{background:var(--tint-red);border-color:var(--tint-red-strong);color:var(--on-tint-red)}.room-box.r-repair{background:var(--tint-amber);border-color:var(--tint-amber-strong);color:var(--on-tint-amber)}.room-num{font-size:18px;font-weight:700}.room-status{margin-top:4px;font-size:11px}.legend{background:var(--card);border-radius:8px;flex-wrap:wrap;gap:16px;margin-top:16px;padding:12px;display:flex}.legend-item{align-items:center;gap:6px;font-size:13px;display:flex}.legend-dot{border-radius:4px;width:14px;height:14px}.l-free{background:var(--tint-green-strong)}.l-occupied{background:var(--tint-red-strong)}.l-repair{background:var(--tint-amber-strong)}.l-booked{background:var(--tint-blue-strong)}.timer-badge{background:var(--tint-amber);color:var(--on-tint-amber);border-radius:20px;align-items:center;gap:4px;margin-top:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.progress-bar{background:var(--border);border-radius:4px;height:8px;margin-top:8px;overflow:hidden}.progress-fill{background:var(--success);border-radius:4px;height:100%;transition:width .3s}.contract-box{background:var(--surface-2);border:2px solid var(--border);border-radius:12px;padding:24px;font-size:14px;line-height:1.8}.empty-state{text-align:center;color:var(--text-light);padding:40px 20px}.empty-state i{opacity:.5;margin-bottom:16px;font-size:48px}.empty-state h3{color:var(--text);margin-bottom:8px;font-size:18px}.empty-state p{font-size:14px}.action-btns{flex-wrap:wrap;gap:6px;display:flex}.action-btns .btn{padding:6px 12px;font-size:11px}.profile-header{align-items:center;gap:20px;margin-bottom:24px;display:flex}.profile-avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:32px;font-weight:700;display:flex}.profile-info h2{font-size:22px}.profile-info p{color:var(--text-light);font-size:14px}.info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.info-item{background:var(--surface-2);border-radius:8px;padding:12px}.info-item label{color:var(--text-light);margin-bottom:4px;font-size:12px;display:block}.info-item span{font-size:14px;font-weight:600}.alert{border-left:4px solid var(--info);background:var(--tint-blue);border-radius:8px;margin-bottom:12px;padding:12px}.alert.warning{background:var(--tint-amber);border-color:var(--warning)}.alert.success{background:var(--tint-green);border-color:var(--success)}.alert.danger{background:var(--tint-red);border-color:var(--danger)}.demo-box{background:var(--tint-green);color:var(--on-tint-green);border-radius:8px;margin-top:16px;padding:12px;font-size:12px}.split-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.select-small{border:2px solid var(--border);background:var(--card);border-radius:10px;padding:9px 12px}@media (width<=768px){.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;height:auto;padding:12px 0;position:relative}.sidebar-brand{padding:0 16px 12px}.nav-section{padding:4px 16px}.nav-item{padding:10px 16px}.main-content{margin-left:0;padding:16px}.dashboard{flex-direction:column}.rooms-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.role-cards{grid-template-columns:1fr}.auth-card{padding:24px}.split-grid{grid-template-columns:1fr}.top-bar h1{font-size:21px}}@media (width<=520px){.stats-grid{grid-template-columns:1fr}.modal{width:100%}.room-beds{grid-template-columns:1fr 1fr}.profile-header{flex-direction:column;align-items:flex-start}}@media print{.sidebar,.top-bar .btn,.card-header .btn{display:none!important}.main-content{margin-left:0}.card{box-shadow:none}.contract-box{background:var(--card);border:none}}:root[data-theme=dark]{--primary:#4fa8dc;--primary-light:#9fd2f0;--primary-dark:#2e8bcb;--accent:#e3c765;--accent-light:#f1dfa3;--accent-dark:#c9a227;--success:#34d399;--warning:#fbbf24;--danger:#f87171;--info:#60a5fa;--bg:#0b1220;--card:#131c2b;--text:#e2e8f0;--text-light:#93a3ba;--border:#2a3a54;--surface-2:#1a2436;--surface-3:#202c42;--surface-inset:#0e1626;--tint-brand:#4fa8dc1f;--tint-blue:#60a5fa29;--on-tint-blue:#93c5fd;--tint-green:#34d39926;--on-tint-green:#6ee7b7;--tint-amber:#fbbf2426;--on-tint-amber:#fcd34d;--tint-red:#f8717126;--on-tint-red:#fca5a5;--tint-violet:#a78bfa29;--on-tint-violet:#c4b5fd;--tint-blue-strong:#60a5fa57;--tint-green-strong:#34d39957;--tint-amber-strong:#fbbf2452;--tint-red-strong:#f8717157;--glass-rgb:19,28,43;--scrim-rgb:11,18,32;--footer-bg:linear-gradient(135deg,#070e1a 0%,#0c1729 52%,#122744 100%);--shadow:0 1px 3px #00000080,0 1px 2px #0006;--shadow-lg:0 16px 34px #0000008c}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .card,:root[data-theme=dark] .stat-card,:root[data-theme=dark] .room-card,:root[data-theme=dark] .modal,:root[data-theme=dark] .payment-method{background:var(--card)}:root[data-theme=dark] .building-map,:root[data-theme=dark] .info-item,:root[data-theme=dark] .contract-box,:root[data-theme=dark] th,:root[data-theme=dark] tr:hover{background:var(--surface-2)}:root[data-theme=dark] .form-group input,:root[data-theme=dark] .form-group select,:root[data-theme=dark] .form-group textarea,:root[data-theme=dark] .select-small,:root[data-theme=dark] .floor-tab{background:var(--surface-inset);color:var(--text);border-color:var(--border)}:root[data-theme=dark] .legend{background:var(--surface-2)}.auth-card.wide{max-width:760px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.form-grid .full{grid-column:1/-1}.form-group textarea{border:2px solid var(--border);background:var(--surface-2);resize:vertical;width:100%;min-height:96px;color:var(--text);border-radius:10px;padding:12px 14px;font-size:14px}.sidebar-tools{gap:8px;padding:0 20px 14px;display:grid}.sidebar-tools select,.mini-toggle{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:10px;padding:9px 10px;font-weight:600}.mini-toggle{cursor:pointer;justify-content:center;align-items:center;gap:8px;display:flex}.user-avatar-img{object-fit:cover;border:2px solid var(--border);border-radius:50%}.thumb{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:64px;height:48px}.room-card-photo{object-fit:cover;width:100%;height:150px;display:block}.bed-map-box{background:var(--card);color:var(--text);border-color:var(--border);padding-top:48px;position:relative;overflow:visible}.room-bed-map{border-radius:8px 8px 0 0;grid-template-columns:repeat(2,1fr);height:42px;display:grid;position:absolute;inset:0 0 auto;overflow:hidden}.bed-segment{color:var(--text);border:1px solid rgba(var(--glass-rgb),.65);justify-content:center;align-items:center;font-size:10px;font-weight:800;display:flex}.bed-segment.free{background:var(--tint-green-strong)}.bed-segment.occupied{background:var(--tint-red-strong)}.bed-segment.booked{background:var(--tint-blue-strong)}.bed-segment.repair{background:var(--tint-amber-strong)}.room-hover-card{background:var(--card);border:1px solid var(--border);width:220px;box-shadow:var(--shadow-lg);z-index:25;text-align:left;color:var(--text);border-radius:14px;padding:10px;display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.room-box:hover .room-hover-card{display:block}.room-hover-card img{object-fit:cover;border-radius:10px;width:100%;height:120px;margin-bottom:8px}.room-hover-card b{display:block}.room-hover-card span{color:var(--text-light);font-size:12px}.no-photo{background:var(--surface-3);height:100px;color:var(--text-light);border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-bottom:8px;display:flex}.structure-card{grid-template-columns:280px 1fr;align-items:center;gap:20px;display:grid}.structure-card img{object-fit:cover;border-radius:14px;width:100%;height:190px}.subtitle-left{color:var(--text-light);margin:6px 0 12px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.gallery-card{border:1px solid var(--border);background:var(--card);border-radius:14px;overflow:hidden}.gallery-card img{object-fit:cover;width:100%;height:150px}.gallery-card b,.gallery-card p{padding:0 12px;display:block}.gallery-card b{padding-top:10px}.gallery-card p{color:var(--text-light);padding-bottom:12px;font-size:12px}.list-card{border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;margin-bottom:10px;padding:12px;display:flex}.list-card>div:nth-child(2){flex:1}.check-line{align-items:center;gap:8px;margin:10px 0;font-size:14px;font-weight:600;display:flex}.check-line input{width:auto!important}@media (width<=768px){.form-grid,.structure-card{grid-template-columns:1fr}.sidebar-tools{grid-template-columns:1fr 1fr}.room-hover-card{left:0;transform:none}}.room-hover-card{display:none!important}.room-card-photo,.gallery-card img,.structure-card img,.announcement-card img{background:var(--surface-2);object-fit:contain!important}.room-card-photo{width:100%;height:220px;display:block}.gallery-button{text-align:left;cursor:zoom-in;font:inherit;color:inherit;border:0}.gallery-card img{width:100%;height:220px;display:block}.gallery-card span{color:var(--primary);margin-top:8px;font-size:12px;font-weight:700;display:inline-block}.photo-viewer{z-index:3000;cursor:zoom-out;background:#000000eb;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.photo-viewer img{object-fit:contain;background:var(--surface-inset);border-radius:14px;max-width:96vw;max-height:92vh}.photo-close{color:#fff;cursor:pointer;z-index:3001;background:#ffffff24;border:0;border-radius:50%;width:44px;height:44px;font-size:32px;position:fixed;top:18px;right:24px}.announcement-list{gap:12px;display:grid}.announcement-card{text-align:left;align-items:center;gap:14px;width:100%;display:flex}.announcement-card img{border-radius:12px;flex:none;width:120px;height:86px}.announcement-clickable{cursor:pointer;color:inherit;font:inherit;border-top:0;border-bottom:0;border-right:0;transition:transform .18s,box-shadow .18s}.announcement-clickable:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0f172a1f}.announcement-detail{text-align:center}.announcement-detail img{object-fit:contain;background:var(--surface-2);border-radius:18px;width:min(100%,520px);max-height:360px;margin:0 auto 18px;display:block}.announcement-detail h2{color:var(--text);margin:0 0 12px;font-size:24px;line-height:1.25}.announcement-detail p{white-space:pre-line;max-width:620px;color:var(--text-light);margin:0 auto;font-size:15px;line-height:1.7}@media (width<=640px){.announcement-card{flex-direction:column;align-items:flex-start}.announcement-card img{width:100%;height:180px}.announcement-detail h2{font-size:20px}}.index-logo-loader{color:#0063a6;background:linear-gradient(135deg,var(--surface-2),var(--tint-brand));flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;font-family:Inter,system-ui,sans-serif;display:flex}.index-logo-loader img{border-radius:24px;width:92px;height:92px;box-shadow:0 18px 40px #0063a638}.index-logo-loader span{letter-spacing:.2px;font-size:20px;font-weight:800}.role-kichik_admin{background:var(--tint-green);color:var(--on-tint-green)}.role-admin{background:var(--tint-blue);color:var(--on-tint-blue)}.role-super_admin{background:var(--tint-amber);color:var(--on-tint-amber)}.role-developer{background:var(--tint-red);color:var(--on-tint-red)}.thumb-square{background:var(--surface-2);object-fit:cover!important;border-radius:14px!important;width:70px!important;height:70px!important}.penalty-rules{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px;display:grid}.card-dot{border:1px solid var(--border);min-height:54px;box-shadow:var(--shadow);border-radius:14px;justify-content:center;align-items:center;font-weight:800;display:flex}.card-dot.green{background:var(--tint-green);color:var(--on-tint-green)}.card-dot.yellow{background:var(--tint-amber);color:var(--on-tint-amber)}.card-dot.red{background:var(--tint-red);color:var(--on-tint-red)}.card-dot.dark{background:var(--surface-inset);color:#fff}.penalty-card{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);border-radius:16px;padding:14px}.penalty-summary-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px;display:grid}.penalty-counter{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:14px}.penalty-counter b{margin-bottom:4px;font-size:24px;display:block}.penalty-counter span{color:var(--text-light);font-size:12px;font-weight:700}.penalty-expulsion{background:var(--tint-red);color:var(--on-tint-red);border-color:#ef4444}.password-chip{background:var(--surface-3);border:1px solid var(--border);border-radius:10px;padding:6px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:inline-block}.structure-card img{aspect-ratio:1;background:var(--surface-2);max-width:800px;max-height:800px;object-fit:contain!important;height:auto!important}.announcement-preview{object-fit:cover;border-radius:10px;width:74px;height:54px}.student-card-row{align-items:center;gap:10px;display:flex}@media (width<=640px){.penalty-rules,.penalty-summary-grid{grid-template-columns:1fr}.structure-card img{width:100%;max-width:100%}.sidebar-brand h2{font-size:18px}}.mobile-shell-header,.mobile-menu-btn,.sidebar-backdrop{display:none}.structure-big-card{overflow:visible}.structure-card.structure-card-large{grid-template-columns:1fr;align-items:stretch;gap:22px;display:grid}.structure-image-button{cursor:zoom-in;background:0 0;border:0;flex-direction:column;align-items:center;gap:10px;width:100%;padding:0;display:flex}.structure-image-button img{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;min-height:520px;box-shadow:0 18px 45px #0f172a1f;aspect-ratio:auto!important;object-fit:contain!important;width:min(100%,1180px)!important;max-width:100%!important;height:min(78vh,900px)!important;max-height:none!important}.structure-image-button span{color:var(--primary);font-size:13px;font-weight:800}.structure-text-block{width:100%;max-width:1180px;margin:0 auto}.structure-text-block h2{font-size:clamp(22px,2.2vw,34px)}.structure-text-block p{font-size:15px;line-height:1.7}@media (width>=1200px){.main-content{padding:30px 36px}.structure-image-button img{min-height:620px}}@media (width<=1199px){.structure-image-button img{min-height:500px;width:100%!important;height:min(72vh,760px)!important}}@media (width<=900px){.dashboard{display:block}.mobile-shell-header{z-index:1201;background:var(--card);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:10px 14px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 10px 28px #0f172a14}.mobile-student-chip{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.mobile-student-chip>div{flex-direction:column;gap:2px;min-width:0;display:flex}.mobile-student-chip strong{white-space:nowrap;text-overflow:ellipsis;max-width:62vw;color:var(--text);font-size:14px;line-height:1.15;display:block;overflow:hidden}.mobile-student-chip span{color:var(--text-light);font-size:11px;font-weight:700}.mobile-menu-btn{background:var(--primary);color:#fff;width:44px;height:44px;box-shadow:var(--shadow-lg);cursor:pointer;border:0;border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.sidebar{z-index:1202;transition:transform .28s;top:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:22px 0 50px #0f172a38;border-right:1px solid var(--border)!important;border-bottom:0!important;width:min(84vw,340px)!important;height:100dvh!important;padding:18px 0 24px!important;position:fixed!important}.dashboard.sidebar-open .sidebar{transform:translate(0)}.sidebar-backdrop{z-index:1199;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;background:#0f172a6b;border:0;transition:opacity .2s;display:block;position:fixed;inset:0}.dashboard.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.main-content{margin-left:0!important;padding:82px 18px 20px!important}.top-bar h1{padding-left:0!important}.sidebar-brand{padding:0 18px 16px!important}.sidebar-tools{grid-template-columns:1fr!important;padding:0 18px 14px!important}.nav-item{padding:12px 18px!important}.nav-section{padding:8px 18px!important}}@media (width<=768px){.structure-image-button img{border-radius:16px;min-height:430px;height:min(68vh,620px)!important}.structure-text-block p{font-size:14px}}@media (width<=520px){.main-content{padding:78px 12px 16px!important}.top-bar{align-items:flex-start}.top-bar h1{font-size:20px;padding-left:0!important}.mobile-shell-header{padding:9px 12px}.mobile-student-chip strong{max-width:58vw;font-size:13px}.structure-image-button img{border-radius:14px;min-height:340px;height:min(62vh,520px)!important}.card-body{padding:14px}.gallery-grid{grid-template-columns:1fr}}@media (width<=900px){.top-bar h1{padding-left:0!important}}.profile-quick-link{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;box-shadow:var(--shadow);border-radius:999px;padding:8px 10px;transition:transform .18s,border-color .18s,box-shadow .18s}.profile-quick-link:hover{border-color:var(--primary-light);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.profile-quick-link:focus-visible{outline-offset:2px;outline:3px solid #0063a638}.profile-quick-link .name{white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.profile-link-icon{color:var(--text-light);font-size:12px}.mobile-brand-chip{min-width:0;color:var(--primary-dark);align-items:center;gap:10px;display:flex}.mobile-brand-chip strong{white-space:nowrap;text-overflow:ellipsis;font-size:16px;line-height:1.1;overflow:hidden}@media (width<=900px){.home-greeting-bar{justify-content:flex-start;align-items:center}.home-greeting-bar h1{width:100%}.home-greeting-bar .profile-quick-link{border-radius:16px;justify-content:flex-start;width:100%;padding:10px 12px}.profile-quick-link .name{max-width:calc(100vw - 150px)}.profile-link-icon{margin-left:auto}}@media (width<=520px){.mobile-brand-chip strong{font-size:15px}.home-greeting-bar .profile-quick-link{margin-top:-2px}}.expulsion-panel{background:linear-gradient(135deg, var(--tint-red), var(--tint-amber));box-shadow:var(--shadow-lg);color:var(--on-tint-red);border:1px solid #ef444452;border-radius:22px;grid-template-columns:88px 1fr;align-items:flex-start;gap:18px;margin-bottom:22px;padding:22px;display:grid}.expulsion-icon{color:#fff;background:#dc2626;border-radius:22px;justify-content:center;align-items:center;width:72px;height:72px;font-size:30px;display:flex;box-shadow:0 18px 36px #dc262647}.expulsion-content h2{margin:6px 0 8px;font-size:24px;line-height:1.22}.expulsion-content p{color:var(--on-tint-red);margin:0 0 16px;font-weight:600}.expulsion-label{color:var(--on-tint-red);text-transform:uppercase;letter-spacing:.04em;background:#dc26261f;border-radius:999px;align-items:center;gap:8px;padding:7px 11px;font-size:12px;font-weight:900;display:inline-flex}.expulsion-stats{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-top:14px;display:grid}.expulsion-stats div{background:rgba(var(--glass-rgb),.78);border:1px solid #ef444438;border-radius:16px;padding:12px}.expulsion-stats b{color:var(--on-tint-red);font-size:24px;line-height:1;display:block}.expulsion-stats span{color:var(--on-tint-red);margin-top:6px;font-size:12px;font-weight:800;display:block}.expulsion-date{background:rgba(var(--glass-rgb),.68);border:1px dashed #dc262659;border-radius:14px;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;font-weight:700;display:inline-flex}:root[data-theme=dark] .expulsion-panel{color:#fee2e2;background:linear-gradient(135deg,#7f1d1deb,#450a0ae0);border-color:#f871716b}:root[data-theme=dark] .expulsion-content p,:root[data-theme=dark] .expulsion-stats span,:root[data-theme=dark] .expulsion-stats b{color:#fee2e2}:root[data-theme=dark] .expulsion-label,:root[data-theme=dark] .expulsion-stats div,:root[data-theme=dark] .expulsion-date{background:#0f172a85}@media (width<=900px){.expulsion-panel{grid-template-columns:1fr;padding:18px}.expulsion-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.expulsion-stats div:last-child{grid-column:1/-1}}@media (width<=520px){.expulsion-content h2{font-size:20px}.expulsion-stats{grid-template-columns:1fr}.expulsion-date{align-items:flex-start;width:100%}}.contact-hero-card{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-lg);border-radius:28px;margin-bottom:22px;padding:34px 38px 38px;overflow:hidden}.contact-head{text-align:center;margin-bottom:28px}.contact-head h2{color:var(--text);margin:0 0 12px;font-size:clamp(28px,4vw,42px);line-height:1.1}.contact-head p{color:var(--text-light);margin:0;font-size:16px}.contact-card{border:1px solid var(--border);background:var(--card);min-height:144px;color:var(--text);box-shadow:var(--shadow);border-radius:20px;align-items:flex-start;gap:16px;padding:24px 24px 22px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.contact-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-light);transform:translateY(-3px)}.contact-icon{background:var(--tint-brand);border-radius:18px;flex:none;justify-content:center;align-items:center;width:54px;height:54px;font-size:24px;display:inline-flex}.contact-info-block h3{color:var(--text);margin:0 0 6px;font-size:18px}.contact-info-block p{color:var(--text);margin:0 0 22px;font-size:16px}.contact-info-block b{color:var(--primary);align-items:center;gap:7px;font-size:14px;display:inline-flex}.contact-blob{background:var(--tint-brand);opacity:.95;border-radius:50%;width:102px;height:102px;position:absolute;top:-40px;right:-26px}.contact-mail .contact-icon,.contact-telegram .contact-icon{background:var(--tint-brand)}.contact-location .contact-icon{background:var(--tint-amber)}.contact-phone .contact-icon{background:var(--tint-green)}.contact-form-card{border:1px solid var(--border);background:linear-gradient(135deg, #0063a614, #0ea5e90d), var(--card);box-shadow:var(--shadow-lg);border-radius:24px;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:24px;padding:28px;display:grid}.contact-form-kicker{color:var(--primary);text-transform:uppercase;letter-spacing:.04em;background:#0063a61f;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;display:inline-flex}.contact-form-card h2{margin:12px 0 8px;font-size:24px}.contact-form-card p{color:var(--text-light);margin:0 0 16px;line-height:1.6}.contact-user-mini{border:1px solid var(--border);background:rgba(var(--glass-rgb),.72);border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.contact-user-mini strong,.contact-user-mini span{display:block}.contact-user-mini span{color:var(--text-light);margin-top:4px;font-size:12px;font-weight:700}.contact-message-form label{margin-bottom:8px;font-weight:800;display:block}.contact-message-form textarea{border:2px solid var(--border);background:var(--surface-2);width:100%;min-height:170px;color:var(--text);resize:vertical;font:inherit;border-radius:18px;outline:none;padding:14px 16px}.contact-message-form textarea:focus{border-color:var(--primary-light);box-shadow:0 0 0 4px #0063a61f}.contact-form-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.contact-form-footer span{color:var(--text-light);font-size:12px;font-weight:700}:root[data-theme=dark] .contact-card,:root[data-theme=dark] .contact-hero-card,:root[data-theme=dark] .contact-form-card{background:var(--card)}:root[data-theme=dark] .contact-icon,:root[data-theme=dark] .contact-blob,:root[data-theme=dark] .contact-user-mini{background:#0f172ab8}:root[data-theme=dark] .contact-message-form textarea{background:var(--surface-inset)}@media (width<=900px){.contact-hero-card{border-radius:22px;padding:24px 18px}.contact-grid{grid-template-columns:1fr}.contact-form-card{grid-template-columns:1fr;padding:20px}}@media (width<=520px){.contact-card{min-height:128px;padding:18px}.contact-icon{border-radius:15px;width:46px;height:46px}.contact-head p,.contact-info-block p{font-size:14px}.contact-form-footer{flex-direction:column;align-items:stretch}.contact-form-footer .btn{justify-content:center;width:100%}}.room-card-clickable{cursor:pointer;transition:transform .18s,box-shadow .18s}.room-card-clickable:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.room-card-clickable:focus-visible,.bed-map-box:focus-visible{outline-offset:3px;outline:3px solid #2563eb59}.room-beds .bed,.bed-segment{cursor:pointer;font:inherit;border:0}.room-beds .bed:hover,.bed-segment:hover{filter:brightness(1.03);transform:translateY(-1px)}.room-beds .bed.occupied,.room-beds .bed.booked,.room-beds .bed.repair{opacity:.86}.room-photo-wrap,.gallery-preview,.admin-photo-preview{position:relative}.panorama-chip,.media-pill{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ac7;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex;position:absolute;top:10px;right:10px}.panorama-chip.small{padding:5px 8px;font-size:11px;top:8px;right:8px}.gallery-preview img{object-fit:cover;border-radius:18px;width:100%;height:170px;display:block}.photo-viewer{z-index:1000;background:#020617db;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.photo-viewer-panel{background:var(--surface-inset);border-radius:24px;width:min(1100px,96vw);max-height:92vh;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000073}.photo-viewer-panel>img{object-fit:contain;background:var(--surface-inset);width:100%;max-height:82vh;display:block}.photo-close{z-index:4;width:42px;height:42px;color:var(--text);cursor:pointer;background:#ffffffeb;border:0;border-radius:50%;font-size:26px;line-height:1;position:absolute;top:12px;right:14px;box-shadow:0 10px 30px #00000040}.photo-viewer-caption{z-index:3;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ab8;border-radius:18px;padding:12px 14px;position:absolute;bottom:14px;left:16px;right:16px}.photo-viewer-caption p{color:#ffffffc7;margin:4px 0 0}.photo-viewer-caption small{color:#ffffffd1;margin-top:6px;display:block}.panorama-viewer{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;background-position:50%;background-repeat:repeat-x;background-size:auto 100%;width:100%;height:min(72vh,680px);min-height:360px;position:relative}.panorama-viewer:active{cursor:grabbing}.pano-nav{z-index:2;width:46px;height:46px;color:var(--text);cursor:pointer;background:#ffffffe0;border:0;border-radius:50%;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 12px 32px #00000047}.pano-nav.left{left:16px}.pano-nav.right{right:16px}.pano-help{z-index:2;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ab8;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-weight:800;display:inline-flex;position:absolute;top:16px;left:16px}@media (width<=640px){.photo-viewer{padding:10px}.panorama-viewer{height:70vh;min-height:320px}.photo-viewer-caption{border-radius:0;position:static}.pano-nav{width:40px;height:40px}}.auth-tabs{background:var(--surface-3);border:1px solid var(--border);border-radius:14px;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 18px;padding:6px;display:grid}.auth-tabs button{color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-weight:800;transition:all .2s;display:flex}.auth-tabs button.active{background:var(--card);color:var(--primary);box-shadow:var(--shadow)}.hemis-note{color:var(--text);background:#3b82f614;border:1px solid #3b82f640;border-radius:12px;align-items:flex-start;gap:8px;margin-bottom:14px;padding:12px;font-size:13px;line-height:1.45;display:flex}.hemis-note i{color:var(--info);margin-top:2px}:root[data-theme=dark] .auth-tabs{background:var(--surface-inset);border-color:var(--border)}:root[data-theme=dark] .auth-tabs button.active{background:var(--surface-2)}:root[data-theme=dark] .hemis-note{background:#60a5fa1f;border-color:#60a5fa40}@media (width<=420px){.auth-tabs{grid-template-columns:1fr}.auth-tabs button{justify-content:flex-start}}.ttjgram-page{grid-template-columns:340px minmax(0,1fr);gap:18px;height:calc(100vh - 72px);min-height:620px;display:grid}.ttjgram-sidebar,.ttjgram-chat{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px;overflow:hidden}.ttjgram-sidebar{flex-direction:column;display:flex}.ttjgram-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px;display:flex}.ttjgram-head h1{margin:0;font-size:24px}.ttjgram-head p{color:var(--muted);margin:4px 0 0;font-size:13px}.ttjgram-search{background:var(--bg);border:1px solid var(--border);border-radius:16px;align-items:center;gap:10px;margin:14px;padding:10px 12px;display:flex}.ttjgram-search input{width:100%;color:var(--text);background:0 0;border:0;outline:0}.ttjgram-search-results{border:1px solid var(--border);background:var(--card);border-radius:16px;margin:0 14px 12px;overflow:hidden}.ttjgram-search-results button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:10px;display:flex}.ttjgram-search-results button:hover{background:var(--bg)}.ttjgram-search-results small,.ttjgram-room small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:12px;display:block;overflow:hidden}.ttjgram-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:10px 18px 6px;font-size:12px;font-weight:800}.ttjgram-room-list{flex-direction:column;gap:6px;padding:0 10px 10px;display:flex;overflow:auto}.ttjgram-room{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:16px;align-items:center;gap:12px;padding:11px;display:flex}.ttjgram-room:hover,.ttjgram-room.active{background:linear-gradient(135deg,#2563eb1f,#10b9811a)}.ttjgram-room-avatar,.ttjgram-avatar{background:linear-gradient(135deg,var(--primary),var(--success));color:#fff;object-fit:cover;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.ttjgram-avatar.fallback{font-size:16px}.ttjgram-empty-small{color:var(--muted);padding:12px;font-size:13px}.ttjgram-chat{flex-direction:column;min-width:0;display:flex}.ttjgram-chat-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 18px;display:flex}.ttjgram-chat-head h2{margin:0;font-size:20px}.ttjgram-chat-head p{color:var(--muted);margin:3px 0 0;font-size:13px}.ttjgram-messages{background:linear-gradient(#2563eb0a,#10b98108);flex:1;padding:20px;overflow:auto}.ttjgram-message{gap:10px;margin-bottom:14px;display:flex}.ttjgram-bubble{background:var(--card);border:1px solid var(--border);border-radius:18px;max-width:min(720px,85%);padding:11px 13px;box-shadow:0 8px 20px #0f172a0f}.ttjgram-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:5px;display:flex}.ttjgram-meta b{font-size:13px}.ttjgram-meta span{background:var(--primary);color:#fff;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800}.ttjgram-meta time{color:var(--muted);font-size:11px}.ttjgram-bubble p{white-space:pre-wrap;margin:0;line-height:1.45}.ttjgram-bubble audio{width:260px;max-width:100%;display:block}.ttjgram-video-circle{object-fit:cover;background:#000;border-radius:50%;width:190px;height:190px;display:block}.ttjgram-file{color:var(--primary);align-items:center;gap:8px;margin-top:4px;font-weight:800;display:inline-flex}.ttjgram-compose{border-top:1px solid var(--border);background:var(--card);align-items:center;gap:8px;padding:14px;display:flex;position:relative}.ttjgram-compose input:not([type=file]){border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:16px;outline:0;flex:1;padding:12px 14px}.ttjgram-icon-btn{border:1px solid var(--border);background:var(--bg);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;display:grid}.ttjgram-icon-btn:hover{color:var(--primary);border-color:var(--primary)}.ttjgram-emoji-panel{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:repeat(8,36px);gap:5px;padding:10px;display:grid;position:absolute;bottom:70px;left:16px}.ttjgram-emoji-panel button{background:var(--bg);cursor:pointer;border:0;border-radius:10px;height:36px;font-size:18px}.ttjgram-recording{background:var(--danger);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:11px 14px;font-weight:800;animation:1s infinite pulse}.ttjgram-empty{text-align:center;height:100%;color:var(--muted);place-items:center;padding:30px;font-weight:700;display:grid}@media (width<=980px){.ttjgram-page{grid-template-columns:1fr;height:auto}.ttjgram-sidebar,.ttjgram-chat{min-height:460px}.ttjgram-messages{min-height:420px}.ttjgram-compose{flex-wrap:wrap}.ttjgram-compose input:not([type=file]){flex-basis:100%;order:-1}.ttjgram-bubble{max-width:calc(100vw - 110px)}}.ttjgram-avatar-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.ttjgram-avatar-btn:hover .ttjgram-avatar{box-shadow:0 0 0 3px #2563eb2e}.ttjgram-head .ttjgram-avatar,.ttjgram-chat-head .ttjgram-avatar{flex-basis:46px;width:46px;height:46px}.ttjgram-room-main{flex:1;min-width:0}.ttjgram-room-side{flex-direction:column;align-items:flex-end;gap:5px;min-width:42px;margin-left:auto;display:flex}.ttjgram-room-side time{color:var(--muted);white-space:nowrap;font-size:10px}.ttjgram-room-side em{background:var(--primary);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-style:normal;font-weight:900;display:grid}.ttjgram-direct-list{flex:1}.ttjgram-message.own{flex-direction:row-reverse}.ttjgram-message.own .ttjgram-bubble{background:linear-gradient(135deg,#2563eb1f,#10b9811a)}.ttjgram-checks{justify-content:center;align-items:center;color:var(--muted)!important;background:0 0!important;padding:0!important;font-size:12px!important;display:inline-flex!important}.ttjgram-checks.read{color:var(--primary)!important}.ttjgram-profile-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172a8c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.ttjgram-profile-modal{background:var(--card);border:1px solid var(--border);width:min(430px,100%);box-shadow:var(--shadow);text-align:center;color:var(--text);border-radius:26px;padding:28px;position:relative}.ttjgram-profile-modal .ttjgram-avatar{width:96px;height:96px;margin:0 auto 14px;font-size:32px}.ttjgram-profile-modal h3{margin:0;font-size:24px}.ttjgram-profile-modal p{color:var(--muted);margin:6px 0 18px}.ttjgram-profile-close{border:1px solid var(--border);background:var(--bg);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;position:absolute;top:14px;right:14px}.ttjgram-profile-grid{text-align:left;grid-template-columns:1fr 1fr;gap:10px;display:grid}.ttjgram-profile-grid div{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:11px}.ttjgram-profile-grid small{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.ttjgram-profile-grid b{word-break:break-word;font-size:13px}.ttjgram-chat-head p{min-height:17px}.ttjgram-chat-head p:not(:empty){transition:all .2s}.ttjgram-search-results .ttjgram-avatar,.ttjgram-room .ttjgram-avatar{flex-basis:42px;width:42px;height:42px}@media (width<=560px){.ttjgram-profile-grid{grid-template-columns:1fr}.ttjgram-room-side time,.ttjgram-message.own .ttjgram-avatar-btn{display:none}}.ttjgram-profile-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.ttjgram-msg-delete{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:2px 4px}.ttjgram-msg-delete:hover{color:var(--danger);background:#ef444414}.ttjgram-compose input:disabled{opacity:.65;cursor:not-allowed}.landing-page{background:var(--bg);min-height:100vh;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.landing-page button{font:inherit}.landing-header{z-index:90;background:rgba(var(--glass-rgb),.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:18px;height:68px;padding:0 44px;display:flex;position:sticky;top:0;box-shadow:0 7px 20px #0063a61f}.landing-brand{cursor:pointer;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:13px;min-width:245px;display:flex}.landing-logo{place-items:center;width:44px;height:44px;display:grid}.landing-logo img{object-fit:contain;width:42px;height:42px}.landing-brand b{font-size:18px;font-weight:900;line-height:1;display:block}.landing-brand small{color:var(--text-light);margin-top:6px;font-size:12px;font-weight:700;display:block}.landing-nav{align-self:stretch;align-items:center;gap:28px;display:flex}.landing-nav button{height:100%;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:0;font-size:13px;font-weight:800;position:relative}.landing-nav button:hover,.landing-nav button.active{color:var(--primary)}.landing-nav button.active:after{content:"";background:var(--primary);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.landing-actions{align-items:center;gap:13px;display:flex}.landing-btn{border:1.6px solid var(--primary);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:9px;height:38px;padding:0 20px;font-size:14px;font-weight:900;transition:all .18s;display:inline-flex}.landing-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0063a62e}.landing-btn.ghost{background:var(--card);color:var(--primary)}.landing-btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.landing-btn.white{background:var(--card);color:var(--primary);border-color:var(--border);box-shadow:0 14px 26px #0f172a12}.landing-btn.big{border-radius:9px;height:50px;padding:0 24px;font-size:15px}.landing-hero{background:linear-gradient(90deg,var(--tint-brand) 0%,var(--tint-brand) 44%,var(--tint-brand) 100%);grid-template-columns:minmax(420px,1fr) minmax(520px,1.05fr);align-items:stretch;min-height:362px;display:grid;position:relative;overflow:hidden}.landing-hero:after{content:"";background:linear-gradient(90deg,rgba(var(--glass-rgb),.1) 0%,rgba(var(--glass-rgb),.86) 41%,rgba(var(--glass-rgb),.08) 52%,rgba(var(--glass-rgb),0) 100%);pointer-events:none;position:absolute;inset:0}.hero-copy{z-index:2;max-width:650px;padding:64px 20px 44px 68px;position:relative}.hero-copy h1{letter-spacing:-1.3px;color:var(--text);margin:0 0 20px;font-size:45px;font-weight:950;line-height:1.18}.hero-copy p{max-width:520px;color:var(--text-light);margin:0 0 24px;font-size:16px;font-weight:600;line-height:1.75}.hero-buttons{flex-wrap:wrap;align-items:center;gap:34px;display:flex}.hero-building{z-index:1;min-height:362px;position:relative;overflow:hidden}.hero-building img{object-fit:cover;object-position:center;filter:saturate(1.06);width:100%;height:100%;display:block}.quick-cards{z-index:5;grid-template-columns:repeat(4,1fr);gap:11px;max-width:1138px;margin:-2px auto 22px;padding:0;display:grid;position:relative}.quick-card{background:rgba(var(--glass-rgb),.96);border:1px solid var(--border);text-align:left;cursor:pointer;min-height:142px;color:var(--text);border-radius:9px;align-items:flex-start;gap:16px;padding:22px 18px;transition:all .18s;display:flex;box-shadow:0 8px 24px #152b5c1a}.quick-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #152b5c29}.quick-icon{border-radius:15px;flex:none;place-items:center;width:68px;height:68px;font-size:33px;display:grid}.quick-icon.blue{background:var(--tint-brand);color:var(--primary)}.quick-icon.green{background:var(--tint-green);color:var(--success)}.quick-icon.yellow{background:var(--tint-amber);color:var(--warning)}.quick-icon.purple{background:var(--tint-violet);color:var(--on-tint-violet)}.quick-card b{margin-bottom:10px;font-size:17px;font-weight:950;line-height:1.15;display:block}.quick-card small{color:var(--text-light);font-size:13px;font-weight:600;line-height:1.55;display:block}.quick-card em{color:var(--primary);margin-top:13px;font-size:26px;font-style:normal;display:block}.how-section{max-width:1144px;margin:16px auto 28px;padding:0}.how-section h2,.landing-section h2{color:var(--text);margin:0 0 22px;font-size:22px;font-weight:950;line-height:1.1}.steps-line{grid-template-columns:repeat(4,1fr);align-items:start;gap:22px;display:grid}.landing-step{grid-template-columns:82px 1fr;align-items:center;gap:18px;display:grid;position:relative}.landing-step:not(:last-child):after{content:"→";color:var(--text-light);font-size:27px;position:absolute;top:31px;right:-18px}.step-icon{border-radius:50%;place-items:center;width:82px;height:82px;font-size:32px;display:grid;position:relative}.step-icon.blue{background:var(--tint-brand);color:var(--primary)}.step-icon.green{background:var(--tint-green);color:var(--success)}.step-icon.yellow{background:var(--tint-amber);color:var(--warning)}.step-icon.purple{background:var(--tint-violet);color:var(--on-tint-violet)}.step-icon span{background:var(--primary);color:#fff;border:2px solid var(--card);border-radius:50%;place-items:center;width:23px;height:23px;font-size:12px;font-weight:900;display:grid;position:absolute;top:0;right:0}.landing-step:nth-child(2) .step-icon span{background:var(--success)}.landing-step:nth-child(3) .step-icon span{background:var(--warning)}.landing-step:nth-child(4) .step-icon span{background:var(--on-tint-violet)}.landing-step b{color:var(--text);font-size:15px;font-weight:950}.landing-step p{color:var(--text-light);margin-top:7px;font-size:13px;font-weight:600;line-height:1.55}.landing-info-strip{background:var(--tint-brand);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1146px;min-height:76px;margin:0 auto 38px;padding:16px 38px;display:grid;box-shadow:0 8px 20px #1432640d}.info-item{align-items:center;gap:18px;display:flex}.info-item i{color:var(--primary);font-size:31px}.info-item b{color:var(--text);font-size:14px;font-weight:950;display:block}.info-item p{color:var(--text-light);margin:4px 0 0;font-size:13px;font-weight:600}.landing-section{max-width:1146px;margin:0 auto 36px;padding:30px 0 0;scroll-margin-top:88px}.section-head{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;display:flex}.section-head p{color:var(--text-light);font-weight:600}.landing-announcements{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.landing-announcement{background:var(--card);border:1px solid var(--border);border-radius:13px;gap:14px;padding:18px;display:flex;box-shadow:0 8px 22px #152b5c14}.landing-announcement>span{background:var(--tint-brand);width:43px;height:43px;color:var(--primary);border-radius:14px;flex:none;place-items:center;display:grid}.landing-announcement.success>span{background:var(--tint-green);color:var(--success)}.landing-announcement.warning>span{background:var(--tint-amber);color:var(--on-tint-amber)}.landing-announcement b{color:var(--text);font-size:15px;font-weight:950}.landing-announcement p{color:var(--text-light);margin:8px 0 0;font-size:13px;font-weight:600;line-height:1.55}.faq-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.faq-item{background:var(--card);border:1px solid var(--border);border-radius:13px;padding:16px 18px;box-shadow:0 8px 22px #152b5c14}.faq-item summary{color:var(--text);cursor:pointer;font-weight:950}.faq-item p{color:var(--text-light);margin:12px 0 0;font-size:13px;font-weight:600;line-height:1.6}.contact-section{padding-bottom:42px}.contact-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.contact-item{background:var(--card);border:1px solid var(--border);border-radius:13px;align-items:center;gap:14px;min-width:0;padding:18px;display:flex;box-shadow:0 8px 22px #152b5c14}.contact-item i{background:var(--tint-brand);width:42px;height:42px;color:var(--primary);border-radius:13px;flex:none;place-items:center;display:grid}.contact-item span{color:var(--text-light);text-transform:uppercase;font-size:12px;font-weight:800;display:block}.contact-item b{color:var(--text);word-break:break-word;margin-top:5px;font-size:14px;display:block}.status-check-form .btn-primary{width:100%}.status-help{background:var(--tint-brand);border:1px solid var(--tint-blue);color:var(--text-light);border-radius:12px;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.55}.status-result{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;margin-top:16px;padding:16px}.status-result.pending{background:var(--tint-amber);border-color:var(--tint-amber-strong)}.status-result.approved{background:var(--tint-green);border-color:var(--tint-green-strong)}.status-result.rejected{background:var(--tint-red);border-color:var(--tint-red-strong)}.status-result-top{align-items:flex-start;gap:13px;display:flex}.status-result-top>i{font-size:34px}.status-result.pending .status-result-top>i{color:var(--on-tint-amber)}.status-result.approved .status-result-top>i{color:var(--on-tint-green)}.status-result.rejected .status-result-top>i{color:var(--on-tint-red)}.status-result-top b{font-size:20px;font-weight:950}.status-result-top p{color:var(--text-light);margin:5px 0 0;font-size:13px;font-weight:600;line-height:1.5}.status-result-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px;display:grid}.status-result-grid span{background:rgba(var(--glass-rgb),.72);border:1px solid #94a3b847;border-radius:12px;min-width:0;padding:10px}.status-result-grid small{color:var(--text-light);text-transform:uppercase;font-size:11px;font-weight:900;display:block}.status-result-grid b{color:var(--text);word-break:break-word;margin-top:4px;font-size:13px;display:block}.auth-home-btn{z-index:10;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#ffffff2e;border:1px solid #ffffff73;border-radius:999px;align-items:center;gap:8px;height:42px;padding:0 17px;font-weight:900;display:flex;position:fixed;top:20px;left:20px}.auth-home-btn:hover{background:#ffffff47}.success-id-box{text-align:center}.success-id-box p{color:var(--text-light);font-size:15px;line-height:1.55}.success-id-box strong{background:var(--tint-brand);border:1px dashed var(--primary);color:var(--primary-dark);letter-spacing:.3px;word-break:break-word;border-radius:14px;margin:16px auto 12px;padding:15px;font-size:24px;font-weight:950;display:block}.success-id-box small{color:var(--text-light);font-weight:700;line-height:1.5;display:block}@media (width<=1180px){.landing-header{padding:0 18px}.landing-nav{gap:16px}.landing-brand{min-width:210px}.quick-cards,.how-section,.landing-info-strip,.landing-section{margin-left:18px;margin-right:18px}.landing-hero{grid-template-columns:1fr 1fr}.hero-copy{padding-left:38px}.hero-copy h1{font-size:38px}.quick-cards,.steps-line{grid-template-columns:repeat(2,1fr)}.landing-step:not(:last-child):after{display:none}.landing-announcements,.faq-grid,.contact-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.landing-header{flex-wrap:wrap;height:auto;min-height:68px;padding:10px 14px}.landing-brand{flex:1;min-width:0}.landing-nav{order:3;gap:18px;width:100%;height:42px;overflow-x:auto}.landing-actions{gap:8px}.landing-btn{padding:0 13px}.landing-hero{grid-template-columns:1fr;min-height:0}.landing-hero:after{background:linear-gradient(180deg,rgba(var(--glass-rgb),.84),rgba(var(--glass-rgb),.12))}.hero-copy{padding:42px 22px 28px}.hero-copy h1{font-size:33px}.hero-building{order:-1;min-height:250px}.quick-cards{grid-template-columns:1fr;margin-top:16px}.landing-info-strip{grid-template-columns:1fr;padding:18px}.landing-announcements,.faq-grid,.contact-grid,.status-result-grid{grid-template-columns:1fr}.auth-home-btn{color:var(--primary);background:var(--card);border-color:var(--border);top:12px;left:12px}}@media (width<=560px){.landing-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.landing-btn{width:100%;height:40px}.hero-buttons{gap:12px}.hero-buttons .landing-btn{width:100%;height:48px}.hero-copy h1{font-size:30px}.hero-copy p{font-size:14px}.quick-card{min-height:0}.section-head{display:block}.section-head p{margin-top:8px}.steps-line{grid-template-columns:1fr}.landing-step{grid-template-columns:66px 1fr}.step-icon{width:66px;height:66px;font-size:25px}}.landing-header{justify-content:center;width:100%;padding:0 18px}.landing-header-inner{justify-content:space-between;align-items:center;gap:18px;width:min(1146px,100%);height:68px;margin:0 auto;display:flex}.landing-hero.landing-hero-full{background:var(--tint-brand);grid-template-columns:none;min-height:380px;display:block;overflow:hidden}.landing-hero-full .hero-bg-img{object-fit:cover;object-position:center;filter:saturate(1.05);width:100%;height:100%;position:absolute;inset:0}.landing-hero-full .hero-soft-overlay{background:linear-gradient(90deg,rgba(var(--scrim-rgb),.98) 0%,rgba(var(--scrim-rgb),.92) 33%,rgba(var(--scrim-rgb),.55) 54%,rgba(var(--scrim-rgb),.08) 78%,rgba(var(--scrim-rgb),.02) 100%);z-index:1;pointer-events:none;position:absolute;inset:0}.landing-hero-full:after{display:none}.hero-inner{z-index:2;align-items:center;width:min(1146px,100%);min-height:380px;margin:0 auto;padding:0;display:flex;position:relative}.quick-cards-visitor{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px}.public-page-main{background:linear-gradient(180deg,var(--tint-brand) 0%,var(--card) 46%);min-height:calc(100vh - 68px);padding:34px 18px 56px}.public-page-title{background:linear-gradient(120deg,var(--tint-brand),var(--card));border:1px solid var(--border);border-radius:20px;max-width:1146px;margin:0 auto 20px;padding:34px;box-shadow:0 16px 36px #152b5c14}.public-page-title span{background:var(--primary);color:#fff;border-radius:999px;align-items:center;min-height:30px;margin-bottom:14px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}.public-page-title h1{letter-spacing:-.8px;color:var(--text);margin:0;font-size:38px;font-weight:950;line-height:1.12}.public-page-title p{max-width:720px;color:var(--text-light);margin:13px 0 0;font-size:16px;font-weight:650;line-height:1.65}.status-page-card{background:var(--card);border:1px solid var(--border);border-radius:20px;max-width:760px;margin:0 auto 34px;padding:24px;box-shadow:0 18px 42px #152b5c1a}.status-mode-tabs{background:var(--tint-brand);border:1px solid var(--tint-brand);border-radius:16px;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;padding:8px;display:grid}.status-mode-tabs button{height:42px;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:12px;font-weight:950}.status-mode-tabs button.active{background:var(--primary);color:#fff;box-shadow:0 10px 20px #0869da2e}.status-page-form{grid-template-columns:1fr 190px;align-items:end;gap:14px;display:grid}.status-page-form .form-group{margin-bottom:0}.status-page-form .btn-primary{width:100%;height:48px}.public-faq-section,.public-contact-section{padding-top:0}.faq-grid-page{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid-page{grid-template-columns:repeat(4,minmax(0,1fr))}a.contact-item{color:inherit;text-decoration:none}.contact-item:hover{transform:translateY(-3px);box-shadow:0 14px 28px #152b5c21}@media (width<=1180px){.landing-header-inner,.hero-inner{max-width:100%}.landing-hero-full .hero-copy{padding-left:20px}.quick-cards-visitor{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.landing-header-inner{flex-wrap:wrap;height:auto;min-height:68px;padding:10px 0}.landing-nav{order:3;gap:18px;width:100%;height:42px;overflow-x:auto}.landing-actions{gap:8px}.hero-inner{align-items:flex-end;min-height:430px}.landing-hero-full .hero-soft-overlay{background:linear-gradient(180deg,rgba(var(--scrim-rgb),.22) 0%,rgba(var(--scrim-rgb),.92) 54%,rgba(var(--scrim-rgb),.98) 100%)}.landing-hero-full .hero-copy{padding:160px 20px 34px}.landing-hero-full .hero-copy h1{font-size:34px}.public-page-title{padding:26px}.public-page-title h1{font-size:31px}.status-page-form,.faq-grid-page,.contact-grid-page{grid-template-columns:1fr}}@media (width<=560px){.landing-header{padding:0 12px}.landing-header-inner{gap:10px}.landing-brand b{font-size:16px}.landing-brand small{font-size:11px}.landing-actions{grid-template-columns:1fr 1fr;width:100%}.quick-cards-visitor,.status-mode-tabs{grid-template-columns:1fr}.hero-inner{min-height:460px}.public-page-main{padding:20px 12px 42px}.public-page-title{border-radius:16px;padding:22px}.public-page-title h1{font-size:28px}.status-page-card{border-radius:16px;padding:18px}}.landing-hero.landing-hero-full{background:var(--tint-brand);width:100vw;height:50vh;min-height:460px;max-height:640px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden}.landing-hero-full .hero-bg-img{object-fit:cover;object-position:center center;width:100vw;height:100%}.landing-hero-full .hero-soft-overlay{background:linear-gradient(90deg,rgba(var(--scrim-rgb),.98) 0%,rgba(var(--scrim-rgb),.92) 31%,rgba(var(--scrim-rgb),.6) 52%,rgba(var(--scrim-rgb),.16) 76%,rgba(var(--scrim-rgb),.04) 100%)}.hero-inner{height:100%;min-height:50vh}.landing-hero-full .hero-copy{max-width:780px;padding:64px 20px 56px}.landing-hero-full .hero-copy h1{letter-spacing:-2.2px;margin-bottom:24px;font-size:clamp(46px,5.2vw,74px);line-height:1.04}.landing-hero-full .hero-copy p{max-width:690px;margin-bottom:30px;font-size:clamp(18px,1.45vw,24px);line-height:1.62}.landing-hero-full .landing-btn.big{border-radius:12px;height:60px;padding:0 30px;font-size:17px}@media (width<=900px){.landing-hero.landing-hero-full{height:58vh;min-height:520px;max-height:none}.hero-inner{align-items:flex-end;min-height:520px}.landing-hero-full .hero-soft-overlay{background:linear-gradient(180deg,rgba(var(--scrim-rgb),.18) 0%,rgba(var(--scrim-rgb),.88) 55%,rgba(var(--scrim-rgb),.98) 100%)}.landing-hero-full .hero-copy{padding:170px 20px 38px}.landing-hero-full .hero-copy h1{letter-spacing:-1.4px;font-size:clamp(36px,8vw,48px)}.landing-hero-full .hero-copy p{font-size:17px}}@media (width<=560px){.landing-hero.landing-hero-full{height:62vh;min-height:520px}.landing-hero-full .hero-copy h1{font-size:34px}.landing-hero-full .hero-copy p{font-size:16px}.landing-hero-full .landing-btn.big{height:52px;font-size:15px}}.public-footer{background:var(--footer-bg);color:#fff;width:100%;margin-top:0;position:relative;overflow:hidden}.public-footer:before{content:"";pointer-events:none;background:#ffffff14;border-radius:50%;width:360px;height:360px;position:absolute;inset:-120px -100px auto auto}.public-footer-inner{grid-template-columns:1.28fr .82fr 1fr 1.05fr;align-items:start;gap:34px;width:min(1146px,100%);margin:0 auto;padding:46px 18px 34px;display:grid;position:relative}.footer-brand{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.footer-logo{background:var(--card);border-radius:16px;flex:none;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 16px 32px #0000002e}.footer-logo img{object-fit:contain;width:36px;height:36px}.footer-brand b{letter-spacing:-.2px;font-size:19px;font-weight:950;line-height:1.15;display:block}.footer-brand small{color:#ffffffad;margin-top:4px;font-size:12px;font-weight:800;display:block}.footer-brand-block p{color:#ffffffb8;max-width:360px;margin:18px 0 20px;font-size:14px;font-weight:600;line-height:1.68}.footer-socials{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.footer-socials a{color:#fff;background:#ffffff1a;border:1px solid #ffffff29;border-radius:13px;place-items:center;width:42px;height:42px;text-decoration:none;transition:all .2s;display:grid}.footer-socials a:hover{background:var(--card);color:var(--primary);transform:translateY(-3px);box-shadow:0 14px 26px #00000029}.public-footer h3{color:#fff;margin:0 0 17px;font-size:16px;font-weight:950}.footer-menu{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.footer-menu button{color:#ffffffb8;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:14px;font-weight:800;transition:all .2s}.footer-menu button:hover,.footer-menu button.active{color:#fff;transform:translate(5px)}.footer-contact-block{flex-direction:column;gap:12px;display:flex}.footer-contact-block a,.footer-contact-block span{color:#ffffffc2;align-items:flex-start;gap:11px;min-width:0;font-size:14px;font-weight:700;line-height:1.45;text-decoration:none;display:flex}.footer-contact-block i{color:#8bc4ff;background:#ffffff1a;border-radius:11px;flex:none;place-items:center;width:34px;height:34px;display:grid}.footer-contact-block em{font-style:normal}.footer-contact-block a:hover{color:#fff}.footer-location-block{min-width:0}.footer-map-card{color:#fff;background:linear-gradient(135deg,#ffffff29,#ffffff12);border:1px solid #ffffff2e;border-radius:20px;flex-direction:column;justify-content:center;gap:9px;min-height:154px;padding:20px;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 18px 42px #0000002e}.footer-map-card:hover{background:linear-gradient(135deg,#ffffff38,#ffffff1a);transform:translateY(-4px)}.footer-map-card i{color:#8bc4ff;font-size:34px}.footer-map-card strong{font-size:18px;font-weight:950}.footer-map-card small{color:#ffffffb8;font-size:13px;font-weight:650;line-height:1.45}.footer-bottom{color:#ffffff9e;border-top:1px solid #ffffff1f;width:min(1146px,100%);margin:0 auto;padding:18px;font-size:13px;font-weight:700;position:relative}@media (width<=980px){.public-footer-inner{grid-template-columns:1fr 1fr;gap:28px}}@media (width<=620px){.public-footer-inner{grid-template-columns:1fr;padding-top:38px}.footer-brand-block p{max-width:none}.footer-map-card{min-height:132px}}.ttjgram-voice{align-items:center;gap:10px;min-width:260px;max-width:100%;display:flex}.ttjgram-voice i{background:var(--primary);color:#fff;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.ttjgram-voice audio{width:260px;max-width:calc(100vw - 170px)}.ttjgram-video-circle{border:4px solid var(--card);box-shadow:0 12px 28px #0f172a2e}.auth-logo img,.brand-logo,.landing-logo img,.footer-logo img,.index-logo-loader img{background:var(--card);object-fit:contain!important;border-radius:50%!important}.auth-logo img{width:84px;height:84px;padding:4px;box-shadow:0 14px 30px #0063a647,0 0 0 3px #c9a2278c}.auth-university{text-align:center;letter-spacing:.1px;color:var(--text-light);margin:-22px 0 26px;font-size:12.5px;font-weight:700;line-height:1.45}.auth-card h1+.subtitle{margin-bottom:8px}.brand-logo{padding:2px;box-shadow:0 6px 14px #0063a62e,0 0 0 2px #c9a22773;width:38px!important;height:38px!important}.sidebar-brand h2{align-items:center;line-height:1.2}.sidebar-brand p{font-weight:700;line-height:1.4}.landing-logo{width:46px;height:46px}.landing-logo img{width:46px;height:46px;padding:2px;box-shadow:0 0 0 2px #c9a22780}.landing-brand b{letter-spacing:-.2px}.landing-brand small{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.hero-university{max-width:100%;color:var(--text);background:#ffffffeb;border:1px solid #0063a62e;border-radius:999px;align-items:center;gap:10px;margin:0 0 18px;padding:7px 16px 7px 7px;font-size:13px;font-weight:800;line-height:1.25;display:inline-flex;box-shadow:0 10px 24px #152b5c1a}.hero-university img{object-fit:contain;background:var(--card);border-radius:50%;flex:none;width:34px;height:34px}.index-logo-loader img{width:104px;height:104px;padding:5px;box-shadow:0 18px 40px #0063a63d,0 0 0 3px #c9a22780}.index-logo-loader small{color:var(--text-light);text-align:center;max-width:320px;font-size:13px;font-weight:700;line-height:1.5}.footer-logo img{padding:2px}.footer-brand small{white-space:normal;max-width:260px;line-height:1.4}.public-page-title span,.landing-nav button.active:after{position:relative}.public-page-title{border-top:3px solid var(--accent)}.footer-bottom{border-top:2px solid #c9a22759}.notfound-title span{background:var(--accent-dark)}.notfound-title h1{color:var(--text)}.mobile-brand-univ{color:var(--primary);letter-spacing:.4px;background:#0063a61a;border-radius:999px;flex:none;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:900}@media (width<=900px){.landing-brand small{max-width:46vw}.hero-university{padding:6px 13px 6px 6px;font-size:12px}.hero-university img{width:28px;height:28px}}@media (width<=560px){.landing-brand small{max-width:40vw}.auth-logo img{width:72px;height:72px}.auth-university{margin:-18px 0 22px;font-size:11.5px}.mobile-brand-univ{display:none}}.theme-toggle{flex:none;width:38px;padding:0}.auth-theme-btn{z-index:10;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#ffffff2e;border:1px solid #ffffff73;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:15px;display:flex;position:fixed;top:20px;right:20px}.auth-theme-btn:hover{background:#ffffff47}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] .auth-container{background:linear-gradient(135deg,#070e1a 0%,#0d1d30 55%,#10283f 100%)}:root[data-theme=dark] .hero-bg-img,:root[data-theme=dark] .hero-building img{filter:saturate(.75)brightness(.55)}:root[data-theme=dark] .landing-header{border-bottom:1px solid var(--border);box-shadow:0 7px 20px #00000073}:root[data-theme=dark] .quick-card,:root[data-theme=dark] .landing-announcement,:root[data-theme=dark] .faq-item,:root[data-theme=dark] .contact-item,:root[data-theme=dark] .status-page-card,:root[data-theme=dark] .public-page-title{box-shadow:0 8px 22px #0006}:root[data-theme=dark] .auth-logo img,:root[data-theme=dark] .brand-logo,:root[data-theme=dark] .landing-logo img,:root[data-theme=dark] .footer-logo img,:root[data-theme=dark] .index-logo-loader img,:root[data-theme=dark] .hero-university img{background:#e8eef5}:root[data-theme=dark] .index-logo-loader{color:var(--primary);background:linear-gradient(135deg,#0b1220,#10243a)}:root[data-theme=dark] .index-logo-loader small{color:var(--text-light)}:root[data-theme=dark] .modal-close{background:var(--surface-3);color:var(--text)}:root[data-theme=dark] .modal-close:hover{background:var(--border)}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#6b7a93}:root[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert()brightness(.85)}:root[data-theme=dark] input[type=file]::-webkit-file-upload-button{filter:invert()brightness(.85)}:root[data-theme=dark] .public-footer{border-top:1px solid var(--border)}:root[data-theme=dark] ::-webkit-scrollbar{width:12px;height:12px}:root[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg)}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--surface-3);border:3px solid var(--bg);border-radius:8px}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--border)}:root[data-theme=dark] [data-sonner-toast]{background:var(--card)!important;border-color:var(--border)!important;color:var(--text)!important}@media print{:root[data-theme=dark]{--bg:#fff;--card:#fff;--text:#000;--text-light:#444;--border:#ccc}}.profile-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:22px;max-width:1180px;margin:0 auto;display:grid}.pf-user-card{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);text-align:center;border-radius:26px;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;display:flex;position:sticky;top:24px}.pf-user-avatar .user-avatar,.pf-user-avatar .user-avatar-img{border:3px solid var(--border);font-size:38px}.pf-user-name{color:var(--text);word-break:break-word;margin-top:6px;font-size:17px;font-weight:800;line-height:1.3}.pf-user-sub{color:var(--text-light);word-break:break-all;font-size:13px;line-height:1.45}.pf-badge{border-radius:999px;align-items:center;gap:6px;padding:5px 13px;font-size:12px;font-weight:700;display:inline-flex}.pf-badge-soft{background:var(--tint-brand);color:var(--primary);border:1px solid var(--border)}.pf-logout{width:100%;color:var(--danger);border-color:var(--border);margin-top:12px}.pf-logout:hover{border-color:var(--danger);color:var(--danger);background:var(--tint-red)}.pf-main{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);border-radius:26px;overflow:hidden}.pf-header{border-bottom:1px solid var(--border);background:var(--tint-brand);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;padding:26px 28px;display:flex}.pf-header h1{color:var(--text);margin:0;font-size:24px;font-weight:800}.pf-header p{color:var(--text-light);max-width:560px;margin:6px 0 0;font-size:13.5px;line-height:1.6}.pf-section{border-bottom:1px solid var(--border);padding:24px 28px}.pf-section:last-child{border-bottom:0}.pf-section-head{color:var(--text);align-items:center;gap:10px;margin:0 0 16px;font-size:15px;font-weight:800;display:flex}.pf-section-icon{background:var(--tint-brand);width:30px;height:30px;color:var(--primary);border-radius:10px;flex:none;place-items:center;font-size:14px;display:grid}.pf-section-note{color:var(--text-light);margin:-8px 0 16px;font-size:13px;line-height:1.6}.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pf-field{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;flex-direction:column;justify-content:center;gap:6px;min-height:68px;padding:12px 15px;display:flex}.pf-field-label{letter-spacing:.6px;text-transform:uppercase;color:var(--text-light);font-size:10.5px;font-weight:800}.pf-field-value{color:var(--text);word-break:break-word;font-size:14px;font-weight:700;line-height:1.4}.pf-avatar-row{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.pf-avatar-preview{object-fit:cover;border:3px solid var(--border);border-radius:50%;width:72px;height:72px}.pf-upload{border:1.5px dashed var(--border);background:var(--surface-2);cursor:pointer;border-radius:16px;flex:260px;align-items:center;gap:13px;min-width:0;padding:13px 16px;transition:border-color .18s,background .18s;display:flex}.pf-upload:hover{border-color:var(--primary);background:var(--tint-brand)}.pf-upload:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--tint-brand)}.pf-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.pf-upload-icon{background:var(--tint-brand);width:40px;height:40px;color:var(--primary);border-radius:12px;flex:none;place-items:center;font-size:16px;display:grid}.pf-upload-text{flex-direction:column;gap:3px;min-width:0;display:flex}.pf-upload-text b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;overflow:hidden}.pf-upload-text small{color:var(--text-light);font-size:12px}.pf-save{justify-content:center;width:100%}@media (width<=1000px){.profile-layout{grid-template-columns:240px minmax(0,1fr);gap:18px}.pf-header,.pf-section{padding-left:20px;padding-right:20px}}@media (width<=820px){.profile-layout{grid-template-columns:1fr}.pf-user-card{position:static}}@media (width<=560px){.pf-grid{grid-template-columns:1fr}.pf-header{padding:20px 16px}.pf-header h1{font-size:21px}.pf-section{padding:20px 16px}.pf-user-card{border-radius:22px;padding:22px 16px}.pf-main{border-radius:22px}}.complete-card{max-width:560px}.complete-greeting{border:1px solid var(--border);background:var(--tint-brand);border-radius:16px;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.complete-greeting>i{color:var(--primary);flex:none;margin-top:2px;font-size:18px}.complete-greeting b{color:var(--text);margin-bottom:4px;font-size:14px;display:block}.complete-greeting span{color:var(--text-light);font-size:13px;line-height:1.6;display:block}.complete-readonly{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px;display:grid}.complete-readonly span{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;min-width:0;padding:10px 13px;display:block}.complete-readonly small{letter-spacing:.5px;text-transform:uppercase;color:var(--text-light);font-size:10.5px;font-weight:800;display:block}.complete-readonly b{color:var(--text);word-break:break-word;margin-top:3px;font-size:13px;font-weight:700;display:block}.field-hint{color:var(--text-light);margin-top:6px;font-size:12px;line-height:1.5;display:block}@media (width<=520px){.complete-readonly{grid-template-columns:1fr}}
