:root{--color-primary:#22c55e;--color-dark-green:#064e3b;--color-light-green:#ecfdf5;--color-green-border:#bbf7d0;--color-text:#0f172a;--color-muted:#64748b;--color-page:#f8fafc;--color-card:#fff;--color-border:#e5e7eb;--color-danger:#ef4444;--color-warning:#f59e0b;--color-info:#3b82f6;--color-purple:#8b5cf6;--shadow-soft:0 18px 45px #0f172a14;--shadow-card:0 10px 28px #0f172a0f;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--container:1180px}*{box-sizing:border-box}body{background:var(--color-page);min-width:320px;min-height:100vh;color:var(--color-text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7}h1,h2,h3,p{margin-top:0}p{color:var(--color-muted);line-height:1.7}.page-center{place-items:center;min-height:100vh;padding:24px;display:grid}.muted{color:var(--color-muted)}.eyebrow{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.full-width{width:100%}.top-navbar{z-index:20;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:28px;padding:18px 40px;display:grid;position:sticky;top:0}.brand{align-items:center;gap:12px;display:inline-flex}.brand strong{color:var(--color-text);font-size:1.05rem;display:block}.brand span{color:var(--color-muted);font-size:.78rem;display:block}.navbar-search{justify-self:center;width:min(100%,520px)}.navbar-actions,.navbar-user{justify-content:flex-end;align-items:center;gap:14px;display:flex}.nav-link{color:var(--color-muted);font-weight:700}.user-meta strong,.user-meta span{display:block}.user-meta strong{max-width:180px;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.user-meta span{color:var(--color-muted);text-transform:capitalize;font-size:.78rem}.public-page{background:radial-gradient(circle at top left, var(--color-light-green), transparent 34%), var(--color-page);min-height:100vh}.hero{width:min(var(--container), calc(100% - 48px));grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:56px;margin:0 auto;padding:80px 0;display:grid}.hero-content h1{max-width:680px;color:var(--color-text);letter-spacing:-.06em;margin:18px 0;font-size:clamp(2.8rem,6vw,5.8rem);line-height:.95}.hero-content h1 span{color:var(--color-primary)}.hero-content p{max-width:600px;font-size:1.06rem}.hero-actions{flex-wrap:wrap;gap:14px;margin:28px 0;display:flex}.stats-row{flex-wrap:wrap;gap:28px;margin-top:34px;display:flex}.stats-row strong,.stats-row span{display:block}.stats-row strong{color:var(--color-dark-green);font-size:1.55rem}.stats-row span{color:var(--color-muted)}.hero-preview{min-height:420px;position:relative}.floating-card{width:min(430px,100%);position:absolute;top:54px;right:20px}.app-shell{background:var(--color-page);min-height:100vh}.dashboard-container{width:min(var(--container), calc(100% - 48px));margin:0 auto;padding:36px 0 70px}.dashboard-heading{margin-bottom:26px}.dashboard-heading h1{letter-spacing:-.04em;margin:8px 0;font-size:clamp(2rem,4vw,3.2rem)}.dashboard-heading p{max-width:760px}@media (width<=860px){.top-navbar{grid-template-columns:1fr;padding:16px 20px}.navbar-search,.navbar-actions,.navbar-user{justify-self:stretch}.hero{grid-template-columns:1fr;padding-top:48px}.hero-preview{min-height:auto}.floating-card{position:static}}.btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 18px;font-weight:800;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 10px 22px #22c55e3d}.btn-secondary{background:var(--color-light-green);color:var(--color-dark-green)}.btn-outline{border-color:var(--color-border);color:var(--color-text);background:#fff}.btn-danger{color:var(--color-danger);background:#fef2f2}.btn-ghost{color:var(--color-muted);background:0 0}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:22px}.badge{border-radius:999px;align-items:center;width:fit-content;padding:6px 11px;font-size:.78rem;font-weight:800;display:inline-flex}.badge-success{background:var(--color-light-green);color:var(--color-dark-green)}.badge-warning{color:#92400e;background:#fffbeb}.badge-danger{color:var(--color-danger);background:#fef2f2}.badge-info{color:var(--color-info);background:#eff6ff}.badge-purple{color:var(--color-purple);background:#f5f3ff}.field{gap:7px;display:grid}.field-label{color:var(--color-text);font-size:.9rem;font-weight:800}.input,.filter-card input,.filter-card select{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:46px;color:var(--color-text);background:#fff;outline:none;padding:0 14px}.input:focus,.filter-card input:focus,.filter-card select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #22c55e1f}.input-error{border-color:var(--color-danger)}.field-error,.form-alert{color:var(--color-danger);font-size:.85rem;font-weight:700}.search-bar{border:1px solid var(--color-border);background:#fff;border-radius:999px;align-items:center;gap:10px;min-height:46px;padding:0 14px;display:flex;box-shadow:0 8px 22px #0f172a0a}.search-icon{color:var(--color-primary);font-size:.78rem;font-weight:900}.search-bar input{width:100%;color:var(--color-text);border:0;outline:0}.avatar-circle{background:var(--color-primary);color:#fff;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font-weight:900;display:grid;overflow:hidden}.avatar-circle img{object-fit:cover;width:100%;height:100%}.loading-wrap{color:var(--color-muted);align-items:center;gap:10px;font-weight:700;display:inline-flex}.spinner{border:3px solid var(--color-green-border);border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;animation:.9s linear infinite spin}.empty-state{text-align:center;padding:42px 20px}.empty-state-icon{background:var(--color-light-green);width:56px;height:56px;color:var(--color-dark-green);border-radius:50%;place-items:center;margin:0 auto 14px;font-weight:900;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{background:var(--color-dark-green);grid-template-columns:minmax(320px,.95fr) minmax(360px,1.05fr);min-height:100vh;display:grid}.auth-panel{background:radial-gradient(circle at 20% 20%, #22c55e59, transparent 32%), var(--color-dark-green);color:#fff;flex-direction:column;justify-content:space-between;padding:46px;display:flex}.auth-brand{align-items:center;gap:12px;display:flex}.auth-brand strong,.auth-brand span{display:block}.auth-brand span{color:#ffffffb8;font-size:.85rem}.auth-copy{max-width:560px}.auth-copy h1{letter-spacing:-.055em;margin:14px 0;font-size:clamp(2.4rem,5vw,4.7rem);line-height:.98}.auth-copy p{color:#ffffffc7;font-size:1.02rem}.auth-benefits{flex-wrap:wrap;gap:10px;display:flex}.auth-benefits span{color:#ffffffd1;background:#ffffff17;border:1px solid #ffffff1f;border-radius:999px;padding:9px 12px;font-size:.86rem;font-weight:700}.auth-card-area{background:var(--color-page);place-items:center;padding:34px;display:grid}.auth-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);width:min(440px,100%);box-shadow:var(--shadow-soft);background:#fff;gap:18px;padding:30px;display:grid}.auth-card-heading h2{margin:8px 0;font-size:2rem}.auth-card-heading p{margin-bottom:0}.account-tabs{background:#f1f5f9;border-radius:999px;grid-template-columns:1fr 1fr;padding:5px;display:grid}.account-tabs button{min-height:40px;color:var(--color-muted);background:0 0;border:0;border-radius:999px;font-weight:900}.account-tabs button.active{color:var(--color-dark-green);background:#fff;box-shadow:0 6px 18px #0f172a14}.admin-auth-card{border-top:5px solid var(--color-primary)}@media (width<=860px){.auth-page{grid-template-columns:1fr}.auth-panel{min-height:360px;padding:32px 24px}}.action-grid,.stats-grid,.card-grid{gap:18px;display:grid}.action-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:30px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:30px}.company-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.four-column{grid-template-columns:repeat(4,minmax(0,1fr))}.action-card,.admin-action-card{min-height:170px}.purple-card{background:linear-gradient(145deg,#fff,#f5f3ff);border-color:#8b5cf638}.content-section{gap:18px;margin-top:24px;display:grid}.section-heading,.card-header-row,.card-footer-row,.preview-footer,.meta-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading h2,.card-header-row h3,.internship-card h3,.review-card h3,.admin-action-card h3{margin-bottom:6px}.filter-card{margin-bottom:18px}.filter-form{grid-template-columns:minmax(220px,1fr) 160px 160px auto;align-items:center;gap:12px;display:grid}.tag-row{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.tag-row span{border:1px solid var(--color-border);color:var(--color-muted);background:#f8fafc;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:700}.meta-row{color:var(--color-muted);justify-content:flex-start;font-size:.92rem}.muted{color:var(--color-muted);font-weight:700}.internship-card{gap:8px;display:grid}.student-nav,.company-nav,.admin-nav{border:1px solid var(--color-border);box-shadow:var(--shadow-card);background:#fff;border-radius:999px;gap:8px;margin-bottom:22px;padding:8px;display:flex;overflow-x:auto}.student-nav a,.company-nav a,.admin-nav a{color:var(--color-muted);border-radius:999px;flex:none;padding:10px 14px;font-size:.9rem;font-weight:900}.student-nav a.active,.company-nav a.active,.admin-nav a.active{background:var(--color-primary);color:#fff}.profile-form,.stack-form{gap:14px;display:grid}.profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form .form-actions,.profile-form .success-alert,.profile-form .form-alert,.field-full{grid-column:1/-1}.stack-form input,.stack-form select,.stack-form textarea,.profile-form textarea,.profile-form select,.filter-form input,.filter-form select{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:46px;color:var(--color-text);background:#fff;outline:none;padding:0 14px}.stack-form textarea,.profile-form textarea{resize:vertical;min-height:110px;padding-top:12px}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.success-alert{color:var(--color-dark-green);font-size:.9rem;font-weight:800}.detail-grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);gap:18px;display:grid}.cust-evaluation-layout{gap:20px;display:grid}.cust-evaluation-form-panel{width:100%;max-width:1200px;margin:0 auto}.meta-list{color:var(--color-muted);gap:10px;margin:18px 0;font-weight:700;display:grid}.table-card{overflow-x:auto}.table-card table{border-collapse:collapse;width:100%;min-width:760px}.table-card th,.table-card td{border-bottom:1px solid var(--color-border);text-align:left;padding:14px 12px}.table-card th{color:var(--color-muted);text-transform:uppercase;font-size:.82rem}.marks-pill{background:var(--color-light-green);color:var(--color-dark-green);border-radius:999px;padding:8px 12px}.placeholder-card{max-width:720px}.form-section-header{margin-bottom:22px}.student-title{align-items:center;gap:12px;display:flex}.application-card{gap:14px;display:grid}.compact-meta{margin:10px 0 16px}.inline-form{margin-top:16px}.download-card{max-width:640px}.admin-stat-card{border-top:3px solid var(--color-primary)}.admin-search-form{grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:12px;display:grid}.detail-list{color:var(--color-muted);gap:10px;margin:16px 0;font-weight:700;display:grid}.admin-row{border-bottom:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:12px;padding:12px 0;display:grid}.admin-row:last-child{border-bottom:0}.evaluation-switcher{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}.cust-evaluation-paper{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:1200px;box-shadow:var(--shadow-card);background:#fff;gap:18px;margin:0 auto;padding:28px 32px;display:grid}.cust-evaluation-header{border-bottom:2px solid var(--color-dark-green);text-align:center;padding-bottom:14px}.cust-evaluation-header p{color:var(--color-dark-green);margin:0 0 6px;font-weight:900}.cust-evaluation-header h2{margin:0}.cust-evaluation-purpose{background:var(--color-light-green);border-radius:var(--radius-md);color:var(--color-text);padding:14px}.cust-info-grid,.cust-evaluator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cust-info-grid div,.cust-evaluator-grid label,.cust-form-section label{gap:7px;display:grid}.cust-info-grid div{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px}.cust-info-grid span,.cust-evaluator-grid span,.cust-form-section span{color:var(--color-muted);font-size:.84rem;font-weight:900}.cust-rating-table{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.cust-rating-row{border-bottom:1px solid var(--color-border);grid-template-columns:56px minmax(360px,1fr) 96px;align-items:stretch;min-width:760px;display:grid}.cust-rating-row:last-child{border-bottom:0}.cust-rating-row>span{word-break:break-word;padding:12px;line-height:1.45}.cust-rating-head{color:var(--color-muted);text-transform:uppercase;background:#f8fafc;font-size:.82rem;font-weight:900}.cust-rating-row select,.cust-evaluator-grid input,.cust-form-section select,.cust-form-section textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:42px;color:var(--color-text);background:#fff;outline:none;padding:0 12px}.cust-form-section{gap:14px;display:grid}.cust-form-section textarea{resize:vertical;min-height:96px;padding-top:12px}.cust-form-section p{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f8fafc;min-height:46px;margin:0;padding:12px}.rating-box{background:var(--color-light-green);border-radius:var(--radius-md);min-width:42px;min-height:34px;color:var(--color-dark-green);place-items:center;display:inline-grid}.modal-overlay{z-index:1000;background:#0f172a73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{width:min(760px,100%);max-height:90vh;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.applicant-profile-top{align-items:center;gap:14px;margin-bottom:18px;display:flex}.applicant-profile-section{border-top:1px solid var(--color-border);margin-bottom:18px;padding-top:14px}.applicant-profile-section h4{color:var(--color-dark-green);margin:0 0 10px}.applicant-profile-content a{color:var(--color-primary);word-break:break-all;font-weight:800}.resume-section-card{margin-top:18px}.resume-section-header h3{color:var(--color-dark-green);margin:0 0 6px}.resume-section-header p{color:var(--color-muted);margin:0}.resume-helper-text{margin:10px 0 14px}.resume-upload-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.resume-file-input{display:none}.resume-file-label{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:42px;color:var(--color-text);cursor:pointer;background:#fff;align-items:center;padding:0 16px;font-weight:800;display:inline-flex}.resume-file-name{color:var(--color-muted);font-weight:700}.resume-actions{margin-top:0}.resume-modal-actions{margin-top:12px}.tabs{border:1px solid var(--color-border);width:fit-content;box-shadow:var(--shadow-card);background:#fff;border-radius:999px;gap:6px;margin-bottom:18px;padding:6px;display:inline-flex}.tabs button{min-height:40px;color:var(--color-muted);background:0 0;border:0;border-radius:999px;padding:0 16px;font-weight:900}.tabs button.active{background:var(--color-primary);color:#fff}.stack-list{gap:14px;display:grid}.review-card{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:16px;display:grid}.review-main h3,.review-main p{margin:0}.stat-card{gap:10px;display:grid}.stat-card span{color:var(--color-muted);font-weight:800}.stat-card strong{color:var(--color-dark-green);font-size:2rem}.not-found-card{text-align:center;max-width:480px}@media (width<=980px){.action-grid,.stats-grid,.company-stats-grid,.admin-stats-grid,.evaluation-switcher,.two-column,.three-column,.detail-grid,.cust-evaluation-layout,.profile-form,.cust-info-grid,.cust-evaluator-grid,.four-column,.filter-form,.admin-search-form,.admin-row{grid-template-columns:1fr}.review-card{grid-template-columns:auto 1fr}.cust-rating-row{grid-template-columns:48px minmax(280px,1fr) 88px;min-width:680px}}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:var(--color-text);margin:0;font-size:1.25rem}.modal-close{cursor:pointer;color:var(--color-muted);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:28px;line-height:1;transition:background-color .2s;display:flex}.modal-close:hover{background:#f3f4f6}.modal-body{padding:24px}.modal-body .form-field{margin-bottom:16px}.modal-body .form-field:last-child{margin-bottom:0}.modal-footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:var(--color-text);font-size:.9rem;font-weight:600}.form-field input[type=file]{border:2px dashed var(--color-border);cursor:pointer;background:#f9fafb;border-radius:4px;padding:10px;font-size:.9rem}.form-field input[type=file]:hover{border-color:var(--color-primary);background:#f0fdf4}
