body{margin:0;padding:0;font-family:Arial,sans-serif;height:100vh;display:flex;flex-direction:column;background-color:#fff}#app{height:100%;width:100%;display:flex;flex-direction:column}:root{--edu-green: #9acd32;--edu-green-light: #d1e7dd;--edu-black: #000;--edu-grey: #f9f9f9}p,h1{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;text-align:center;max-width:800px;margin:4rem auto}.top-bar{background-color:var(--edu-black);border-top:15px solid var(--edu-green);height:80px;display:flex;align-items:center;padding-left:20px;flex-shrink:0}.top-bar img{max-height:50px;width:auto;margin-left:10px}.hamburger-menu{display:flex;flex-direction:column;gap:5px;cursor:pointer;margin-right:20px}.hamburger-menu span{width:30px;height:4px;background-color:#fff;border-radius:2px}.logo{color:var(--edu-green);font-weight:700;font-size:2rem;letter-spacing:2px}.main-layout-container{display:flex;flex:1;height:calc(100vh - 95px);overflow:hidden}.sidebar{width:200px;background-color:#d3d3d3;display:flex;flex-direction:column;align-items:center;padding-top:40px;gap:30px;flex-shrink:0;transition:width .3s ease,padding .3s ease,opacity .3s ease;overflow:hidden;white-space:nowrap}.sidebar.closed{width:0;padding:0;opacity:0}.content-area{flex:1;background-color:#fff;padding:40px;overflow-y:auto}.nav-btn{width:160px;padding:12px 0;background-color:var(--edu-green);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;box-shadow:0 4px 6px #0003;transition:transform .1s}.nav-btn:hover{transform:translateY(-2px);background-color:green;text-decoration:underline}.btn-action{width:100%;padding:14px;background-color:var(--edu-black);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .1s,background-color .3s;box-shadow:0 4px 6px #0000004d}.btn-action:hover{background-color:#9acd32;transform:scale(1.02);text-decoration:underline}.input-field{width:100%;padding:12px 15px;margin-bottom:20px;border:1px solid #ddd;border-radius:8px;background-color:#f9f9f9;font-size:1rem;box-sizing:border-box;transition:all .3s ease}.input-field:focus{outline:none;border-color:var(--edu-green);background-color:#fff}.msg-box{padding:20px;text-align:center;color:#666;background:#f8f8f8;border-radius:8px;margin-bottom:20px}.msg-box.error{color:red;background:#fff0f0}.view-container{max-width:1200px;width:100%;margin:0 auto}.view-header{display:flex;align-items:center;gap:20px;margin-bottom:30px}.view-header h1{margin:0;font-size:1.5rem;color:#333}.split-content{display:flex;gap:50px;align-items:flex-start}.list-panel{flex:3;display:flex;flex-direction:column}.data-row{padding:20px;border-bottom:1px solid #ccc;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:15px}.data-row:hover:not(.active){background-color:#f0f0f0}.data-row.active{background-color:var(--edu-green-light);border-left:5px solid var(--edu-green)}.row-info{flex:1}.info-line{margin-bottom:8px;font-size:1rem}.info-label{font-weight:700;color:#000;margin-right:5px}.action-panel{flex:1;min-width:220px;display:flex;flex-direction:column;gap:20px;padding-top:10px}.panel-title{text-align:center;color:#888;font-weight:700;margin-bottom:10px}.selection-info{background:#f1f1f1;padding:10px;text-align:center;font-size:.9rem}.action-stack{display:flex;flex-direction:column;gap:15px}.upload-page-container{display:flex;flex-direction:column;align_items:center;justify-content:center;min-height:80vh;background-color:#fff}.upload-zone{border:2px dashed #9ACD32;border-radius:8px;padding:60px 100px;text-align:center;background-color:#fff;margin-bottom:40px;display:flex;flex-direction:column;gap:20px;align-items:center}.minimal-select{padding:8px;border:1px solid #ccc;border-radius:4px;margin-bottom:10px;width:100%;max-width:300px}.actions-row{display:flex;gap:50px}.doc-list{display:flex;flex-direction:column;gap:15px;margin-top:20px}.doc-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f9f9f9;border:1px solid #eee;border-radius:8px;transition:transform .2s}.doc-item:hover{transform:translate(5px);border-color:#ddd}.doc-info{display:flex;flex-direction:column}.doc-name{font-weight:700;font-size:1.1rem}.doc-date{font-size:.85rem;color:#777}.btn-delete{width:100%;padding:14px;background-color:var(--edu-black);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .1s,background-color .3s;box-shadow:0 4px 6px #0000004d}.btn-delete:hover{background-color:#fa1900;text-decoration:underline}.btn-delete2{background-color:#e74c3c;color:#fff;border:none;padding:8px 15px;border-radius:5px;cursor:pointer;width:30%}.btn-delete2:hover{background-color:#c0392b;text-decoration:underline}.actions-footer{margin-top:30px;text-align:center}.empty-state{text-align:center;color:#888;padding:40px;border:2px dashed #eee;border-radius:10px}.login-container{max-width:400px;margin:50px auto;text-align:center}.form-group{text-align:left;margin-bottom:15px}.form-group-large{text-align:left;margin-bottom:25px}.centered-container{text-align:center}.centered-container-margin{text-align:center;margin-top:50px}.qr-wrapper,.session-info-box{margin:40px 0}.divider{margin-top:15px;padding-top:15px;border-top:1px solid #ccc}.edit-form-container{margin-top:10px}.edit-input{margin-bottom:5px;width:100%}.edit-textarea{width:100%}.edit-actions{display:flex;gap:10px;margin-top:10px}.btn-save{background-color:#4caf50!important;color:#fff}.btn-save:hover{background-color:#45a049!important}.btn-cancel{background-color:#f44336!important;color:#fff}.btn-cancel:hover{background-color:#e53935!important}.btn-blue{background-color:#3498db!important;color:#fff}.btn-blue:hover{background-color:#2980b9!important}.btn-success{background-color:#2ecc71!important;color:#fff}.btn-success:hover{background-color:#27ae60!important}.btn-danger{background-color:#e74c3c!important;color:#fff}.btn-danger:hover{background-color:#c0392b!important}.btn-full-width{width:100%}.btn-large{padding:15px 30px;font-size:1.1rem}.error-text{color:red;margin-bottom:15px}.error-text-centered{color:red;margin-bottom:15px;text-align:center}.error-text-spaced{color:red;margin-top:20px}.status-open{color:green;margin-left:10px;font-weight:700}.status-closed{color:red;margin-left:10px;font-weight:700}
