
    /* Ultra-thin minimal scrollbar */
        ::-webkit-scrollbar {
            width: 1px;
            height: 2px;
        }

        ::-webkit-scrollbar-track {
            background: transparent;
        }

        ::-webkit-scrollbar-thumb {
            background: #010136;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: #010136;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
        }

        body {
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow-x: hidden;
            background: #f5f5f5;
        }

        .container {
            display: flex;
            gap: 40px;
            align-items: center;
            max-width: 1200px;
            width: 100%;
            background: #2d2850;
            position: relative;
        }

        .phone {
            width: 100%;
            min-height: 100vh;
            height: auto;
            border-radius: 40px;
            padding: 20px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(45, 40, 80, 0.25);
        }

        .qrscan {
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            border-radius: 0 !important;
            background: #2d2850;
            position: relative;
        }

        .header {
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            margin-bottom: 30px;
        }

        .close-btn {
            position: absolute;
            left: 10px;
            width: 32px;
            height: 32px;
            background: rgba(255, 255, 255, 0.1);
            border: none;
            border-radius: 50%;
            color: white;
            font-size: 20px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background 0.3s ease;
        }

        .close-btn:hover {
            background: rgba(255, 255, 255, 0.2);
        }

        .camera-container {
            width: 100%;
            flex: .7;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 30px;
            height: 400px !important;
            border-radius: 20px;
            overflow: hidden;
        }

        #cameraPreview {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transform: scaleX(-1); /* Mirror the camera */
            border-radius: 20px;
        }

        .scan-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 2;
        }

        .scan-frame {
            width: 90%;
            height: 300px;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 3;
            padding: 10px;
        }

        .corner {
            position: absolute;
            width: 80px;
            height: 80px;
            border: 3px solid white;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .corner-tl {
            top: 0;
            left: 0;
            border-right: none;
            border-bottom: none;
            border-radius: 30px 0 0 0;
        }

        .corner-tr {
            top: 0;
            right: 0;
            border-left: none;
            border-bottom: none;
            border-radius: 0 30px 0 0;
        }

        .corner-bl {
            bottom: 0;
            left: 0;
            border-right: none;
            border-top: none;
            border-radius: 0 0 0 30px;
        }

        .corner-br {
            bottom: 0;
            right: 0;
            border-left: none;
            border-top: none;
            border-radius: 0 0 30px 0;
        }

        /* Success state - Green borders with glow */
        .scan-success .corner {
            border-color: #4CAF50;
            border-width: 4px;
            box-shadow: 0 0 20px rgba(76, 175, 80, 0.8), 
                        inset 0 0 20px rgba(76, 175, 80, 0.3);
            animation: successPulse 0.6s ease-in-out;
        }

        @keyframes successPulse {
            0%, 100% { 
                transform: scale(1);
                opacity: 1;
            }
            50% { 
                transform: scale(1.05);
                opacity: 0.9;
            }
        }

        /* Error state - Red borders with shake */
        .scan-error .corner {
            border-color: #f44336;
            border-width: 4px;
            box-shadow: 0 0 20px rgba(244, 67, 54, 0.8),
                        inset 0 0 20px rgba(244, 67, 54, 0.3);
            animation: errorShake 0.5s ease-in-out;
        }

        @keyframes errorShake {
            0%, 100% { transform: translateX(0); }
            10%, 30%, 50%, 70%, 90% { transform: translateX(-8px); }
            20%, 40%, 60%, 80% { transform: translateX(8px); }
        }

        .scan-line {
            position: absolute;
            width: 100%;
            height: 3px;
            background: linear-gradient(90deg, 
                transparent 0%, 
                white 50%, 
                transparent 100%);
            top: 0;
            animation: scan 2s linear infinite alternate;
            z-index: 2;
            box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
        }

        @keyframes scan {
            0% { 
                top: 0%; 
                opacity: 0;
            }
            10% {
                opacity: 1;
            }
            90% {
                opacity: 1;
            }
            100% { 
                top: 100%; 
                opacity: 0;
            }
        }

        /* Scanning animation for corners */
        @keyframes cornerPulse {
            0%, 100% { 
                opacity: 1;
                transform: scale(1);
            }
            50% { 
                opacity: 0.6;
                transform: scale(0.95);
            }
        }

        .scanning .corner {
            animation: cornerPulse 2s ease-in-out infinite;
        }

        .bottom-section {
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .action-buttons {
            display: flex;
            justify-content: space-between;
        }

        .action-btn {
            width: 50px;
            height: 50px;
            background: rgba(255, 255, 255, 0.1);
            border: none;
            border-radius: 50%;
            color: white;
            font-size: 20px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
        }

        .action-btn svg {
            width: 40px;
            height: 25px;
        }

        .action-btn:hover {
            background: rgba(255, 255, 255, 0.2);
            transform: scale(1.1);
        }

        .action-btn:active {
            transform: scale(0.95);
        }

        .info-card {
            background: white;
            border-radius: 20px;
            padding: 20px;
            text-align: start;
        }

        .info-card h3 {
            color: #2d2850;
            font-size: 16px;
            margin-bottom: 8px;
        }

        .info-card p {
            color: #999;
            font-size: 12px;
            line-height: 1.5;
        }

        /* Bottom Sheet Styles */
        .bottom-sheet {
            background-color: white;
            overflow-y: auto;
            overflow-x: hidden;
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 60vh;
            border-radius: 40px 40px 0 0;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            z-index: 1000;
            touch-action: none;
            cursor: grab;
            box-shadow: 0 -5px 30px rgba(0, 0, 0, 0.15);
        }

        .bottom-sheet:active {
            cursor: grabbing;
        }

        .bottom-sheet.fullscreen {
            height: 100vh;
            border-radius: 0;
        }

        .bottom-sheet.hidden {
            transform: translateY(100%);
            opacity: 0;
            pointer-events: none;
        }

        .drag-handle {
            width: 60px;
            height: 5px;
            background: #ddd;
            border-radius: 10px;
            margin: 15px auto 10px;
            cursor: grab;
            touch-action: none;
            transition: background 0.3s ease;
        }

        .drag-handle:active {
            cursor: grabbing;
            background: #bbb;
        }

        .close-bottom-sheet {
            position: absolute;
            right: 20px;
            top: 20px;
            width: 40px;
            height: 40px;
            background: #f5f5f5;
            border: none;
            border-radius: 50%;
            color: #666;
            font-size: 24px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 1001;
            transition: all 0.3s ease;
        }

        .close-bottom-sheet:hover {
            background: #e8e8e8;
            transform: scale(1.1);
        }

        /* Student Details Content */
        .student-header {
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            margin-bottom: 30px;
            padding-top: 10px;
        }

        .student-close {
            position: absolute;
            left: 0;
            width: 32px;
            height: 32px;
            background: #f5f5f5;
            border: none;
            border-radius: 50%;
            color: #666;
            font-size: 20px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
        }

        .student-close:hover {
            background: #e8e8e8;
        }

        .student-title {
            color: #2d2850;
            font-size: 16px;
            font-weight: 600;
        }

        .student-info {
            text-align: center;
            margin-bottom: 30px;
        }

        .verified-passport {
            width: auto;
            position: relative;
        }

        .student-icon {
            width: 180px;
            height: 220px;
            background: darkgray;
            border-radius: 12px;
            margin: 20px auto 35px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 28px;
            overflow: hidden;
        }

        .student-icon > img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: top;
        }

        .trueid-icon {
            position: absolute;
            width: 80px;
            opacity: .9;
            bottom: -20px;
            right: 50px;
        }

        .trueid-icon img {
            width: 100%;
            object-fit: cover;
        }

        .student-name {
            color: #2d2850;
            font-size: 18px;
            font-weight: 600;
            margin-bottom: 5px;
        }

        .student-id {
            color: #585858;
            font-size: 20px;
        }

        .university {
            color: #2d2850;
            font-size: 25px;
            font-weight: 700;
            text-align: center;
            margin-bottom: 30px;
        }

        .details-section {
            margin-bottom: 25px;
            padding: 0 20px;
        }

        .section-title {
            color: #2d2850;
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 12px;
        }

        .item-row {
            display: flex;
            justify-content: space-between;
            padding: 10px 0;
            color: #666;
            font-size: 14px;
        }

        .total {
            border-top: 1px dashed #ddd;
            padding-top: 15px;
            margin-top: 5px;
            font-weight: 600;
            color: #2d2850;
            text-align: center;
            width: 100%;
        }

        .signature {
            width: 100%;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 20px;
        }

        .signature img {
            width: 150px;
        }

        .back-button {
            width: calc(100% - 40px);
            margin: 0 20px 40px;
            background: linear-gradient(135deg, #6b4ce6 0%, #8b6ce8 100%);
            color: white;
            border: none;
            border-radius: 16px;
            padding: 18px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            transition: transform 0.2s ease;
        }

        .back-button:hover {
            transform: translateY(-2px);
        }

        .back-button:active {
            transform: translateY(0);
        }

        /* Camera Permission Overlay */
        .camera-permission {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(45, 40, 80, 0.95);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 20px;
            text-align: center;
            z-index: 10;
        }

        .camera-permission h3 {
            color: white;
            font-size: 20px;
            margin-bottom: 15px;
        }

        .camera-permission p {
            color: rgba(255, 255, 255, 0.8);
            font-size: 14px;
            margin-bottom: 30px;
            line-height: 1.5;
        }

        .permission-btn {
            background: linear-gradient(135deg, #6b4ce6 0%, #8b6ce8 100%);
            color: white;
            border: none;
            border-radius: 12px;
            padding: 15px 30px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: transform 0.2s ease;
        }

        .permission-btn:hover {
            transform: translateY(-2px);
        }

        /* Status Messages */
        .scan-status {
            position: absolute;
            top: 20px;
            left: 50%;
            transform: translateX(-50%);
            padding: 12px 24px;
            border-radius: 25px;
            font-size: 14px;
            font-weight: 600;
            text-align: center;
            z-index: 100;
            opacity: 0;
            transition: all 0.3s ease;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        }

        .scan-status.show {
            opacity: 1;
            top: 40px;
        }

        .scan-status.success {
            background: rgba(76, 175, 80, 0.95);
            color: white;
        }

        .scan-status.error {
            background: rgba(244, 67, 54, 0.95);
            color: white;
        }

        .screen-checker {
            position: fixed;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: white;
            z-index: 10000;
            color: black;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 20px;
        }

        .screen-checker span {
            font-size: 50px;
            border-right: solid black 3px;
            padding-right: 30px;
            line-height: 40px;
        }

        .screen-checker h1 {
            font-weight: 500;
        }

        @media (max-width: 468px) {
            .container {
                flex-direction: column;
            }
            
            .phone {
                max-width: 100%;
            }

            .screen-checker {
                display: none;
            }

            .bottom-sheet {
                max-width: 100%;
            }
        }

        @media (min-width: 469px) {
            .screen-checker {
                display: flex;
            }
            
            .container {
                display: none;
            }
        }